Hacker News new | ask | show | jobs
by klowner 2863 days ago
With 100 threads running like that, not only do you have the overhead of the OS scheduling 100 threads to run on ~8 or whatever cpu cores, but also I would assume these threads are all running different code, so there would be some overhead with context switching / cache. Presumably these threads communicate, so they're likely using some form of synchronization primitives.

Here's a pretty enjoyable video about how they handled this sort of engine design problem using something sensible: https://www.gdcvault.com/play/1022186/Parallelizing-the-Naug...