Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[$1500] #316 Add Localized Threading | Requires: #314
#1
Price: $1500

Description: In AeroMogul, I employ threading via a library called BS::thread_pool. I've concluded that there are a few places inside GearCity's turn loop that we can thread without having to thread the entire game or mess with multi-threaded SQLite. One particular place where we can employ localized threading is the sales calculation systems during end turns. Currently, this system eats approximately 20% of our turn processing time. Cutting that in half could easily shave off 10% from the turn times. There are also several other places where I might be able to deploy localized threading solutions without multithreading the entire system.

The ultimate goal of this bounty is to improve turn times by 10%, but I could easily see improvements as high as 25 to 30% if we're lucky!

Requirements: #314

Required By: None

Concerns: This bounty could open a can of worms. Some places might not be as clean to implement as I think. There is a chance of bugs, so a lot of time will have to be spent on bug testing and profiling.

Eric's Opinion: A light went off when I was working on AeroMogul. That light shined a path to getting some parts of GC multithreaded without redoing much of the game's code. I don't know the full scope of functions I could thread, but I know one or two key locations where this could work. It could improve turn times. So it's worth a shot.

Links: It doesn't happen unless you contribute!

Threading library used in AeroMogul
"great writers are indecent people, they live unfairly, saving the best part for paper.
good human beings save the world, so that bastards like me can keep creating art, become immortal.
if you read this after I am dead it means I made it." ― Charles Bukowski
Reply


Messages In This Thread
[$1500] #316 Add Localized Threading | Requires: #314 - by Eric.B - 12-07-2023, 12:53 AM

Forum Jump:


Users browsing this thread: 2 Guest(s)