Blender Git Loki
Git Commits -> Revision 01e8e7d
Revision 01e8e7d by Sergey Sharybin (master) November 20, 2018, 13:58 (GMT) |
Task scheduler: Optimize parallel loop over lists The goal is to address performance regression when going from few threads to 10s of threads. On a systems with more than 32 CPU threads the benefit of threaded loop was actually harmful. There are following tweaks now: - The chunk size is adaptive for the number of threads, which minimizes scheduling overhead. - The number of tasks is adaptive to the list size and chunk size. Here comes performance comparison on the production shot: Number of threads DEG time before DEG time after 44 0.09 0.02 32 0.055 0.025 16 0.025 0.025 8 0.035 0.033 |
Commit Details:
Full Hash: 01e8e7dc6d9dd3710e0e3872b2d70196ac654d14
Parent Commit: 9bc2570
Lines Changed: +42, -21
1 Modified Path:
/source/blender/blenlib/intern/task.c (+42, -21) (Diff)