Blender Git Commit Log

Git Commits -> Revision 7efa34d

Revision 7efa34d by Sergey Sharybin (master)
May 10, 2016, 08:01 (GMT)
Task scheduler: Add thread-aware task push routines

This commit implements new function BLI_task_pool_push_from_thread()
who's main goal is to have less parasitic load on the CPU bu avoiding
memory allocations as much as possible, making taks pushing cheaper.

This function expects thread ID, which must be 0 for the thread from
which pool is created from (and from which wait_work() is called) and
for other threads it mush be the ID which was sent to the thread working
function.

This reduces allocations quite a bit in the new dependency graph,
hopefully gaining some visible speedup on a fewzillion core machines
(on my own machine can only see benefit in profiler, which shows
significant reduce of time wasted in the memory allocation).

Commit Details:

Full Hash: 7efa34d078336bb366ac5b099e56a2896176f599
Parent Commit: 401e710
Lines Changed: +215, -19

3 Modified Paths:

/source/blender/blenlib/BLI_task.h (+3, -1) (Diff)
/source/blender/blenlib/intern/task.c (+195, -9) (Diff)
/source/blender/depsgraph/intern/depsgraph_eval.cc (+17, -9) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021