iakov.dev

Moving to Intel Threading Building Blocks

· 1 min read

I’m getting deeper into concurrency and multithreading, and I’ve decided to use Intel Threading Building Blocks instead of the experimental boost::thread_pool.

All computation in the Glow engine is organised into tasks, so in theory it should scale well as the number of hardware threads (CPU cores) goes up. Until now I ran those tasks on boost::thread_pool. Coming back to the concurrency code, I realised that approach can’t scale, because the pool relies heavily on spin-based mutexes.

Later I’ll run tests to measure how both methods scale and post the results here.