Blender Git Commit Log

Git Commits -> Revision c0f8e15

Revision c0f8e15 by Sergey Sharybin (master)
August 19, 2013, 10:51 (GMT)
Speedup for guarded allocator

- Re-arrange locks, so no actual memory allocation
(which is relatively slow) happens from inside
the lock. operation system will take care of locks
which might be needed there on it's own.

- Use spin lock instead of mutex, since it's just
list operations happens from inside lock, no need
in mutex here.

- Use atomic operations for memory in use and total
used blocks counters.

This makes guarded allocator almost the same speed
as non-guarded one in files from Tube project.

There're still MemHead/MemTail overhead which might
be bad for CPU cache utilization

Commit Details:

Full Hash: c0f8e15295371ae69b38185d3ee5659cdd1af386
SVN Revision: 59281
Parent Commit: efa8365
Lines Changed: +42, -32

12 Modified Paths:

/intern/atomic/atomic_ops.h (+2, -1) (Diff)
/intern/guardedalloc/CMakeLists.txt (+1, -0) (Diff)
/intern/guardedalloc/intern/mallocn.c (+19, -27) (Diff)
/intern/guardedalloc/SConscript (+1, -1) (Diff)
/source/blender/blenlib/BLI_threads.h (+1, -0) (Diff)
/source/blender/blenlib/intern/threads.c (+10, -3) (Diff)
/source/blender/makesdna/intern/CMakeLists.txt (+1, -0) (Diff)
/source/blender/makesdna/intern/SConscript (+1, -0) (Diff)
/source/blender/makesrna/intern/CMakeLists.txt (+1, -0) (Diff)
/source/blender/makesrna/SConscript (+1, -0) (Diff)
/source/blender/windowmanager/intern/wm_init_exit.c (+3, -0) (Diff)
/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp (+1, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021