Blender Git Loki
Git Commits -> Revision 7984eca
Revision 7984eca by Sergey Sharybin (depsgraph_cleanup) May 27, 2016, 15:57 (GMT) |
Depsgraph: Fallback to plain array for operations once depsgraph was fully built Storing dozen operations in a map is not really efficient for traversal and looping (which happens A LOT) during graph evaluation. So let's sue map during building process to speed up some lookups but once graph was finalized we are now switching to an array for operations. This solves the speed regression caused by switch to a native BLI utilities and also gives few percent extra speedup comparing to master. So it's a win. |
Commit Details:
Full Hash: 7984eca71781b83d9e3a8be902d964c3e8f87b8c
Parent Commit: 3fe4dda
Lines Changed: +84, -41
8 Modified Paths:
/source/blender/depsgraph/intern/builder/deg_builder.cc (+1, -0) (Diff)
/source/blender/depsgraph/intern/debug/deg_debug_graphviz.cc (+4, -8) (Diff)
/source/blender/depsgraph/intern/depsgraph_debug.cc (+1, -3) (Diff)
/source/blender/depsgraph/intern/eval/deg_eval_flush.cc (+1, -3) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node.cc (+9, -0) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node.h (+2, -0) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node_component.cc (+53, -25) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node_component.h (+13, -2) (Diff)
/source/blender/depsgraph/intern/debug/deg_debug_graphviz.cc (+4, -8) (Diff)
/source/blender/depsgraph/intern/depsgraph_debug.cc (+1, -3) (Diff)
/source/blender/depsgraph/intern/eval/deg_eval_flush.cc (+1, -3) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node.cc (+9, -0) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node.h (+2, -0) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node_component.cc (+53, -25) (Diff)
/source/blender/depsgraph/intern/nodes/deg_node_component.h (+13, -2) (Diff)