diff options
author | Jacques Lucke <jacques@blender.org> | 2021-12-13 15:28:33 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-12-13 15:28:33 +0300 |
commit | 1686979747c3b551ec91e8a3b1c7a9724ca381b2 (patch) | |
tree | 7a85a1f4f78c127aef8d6eebf9048f88246deab9 /source/blender/functions/CMakeLists.txt | |
parent | e549d6c1bd2ded2f0d33db0489c68a84a822fd34 (diff) |
Geometry Nodes: move up destruct instructions in procedure
This implements an optimization pass for multi-function procedures.
It optimizes memory reuse by moving destruct instructions up.
For more details see the in-code comment.
In very large fields with many short lived intermediate values, this change
can improve performance 3-4x. Furthermore, in such cases, peak memory
consumption is reduced significantly (e.g. 100x lower peak memory usage).
Differential Revision: https://developer.blender.org/D13548
Diffstat (limited to 'source/blender/functions/CMakeLists.txt')
-rw-r--r-- | source/blender/functions/CMakeLists.txt | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/functions/CMakeLists.txt b/source/blender/functions/CMakeLists.txt index 63c11164275..9cfaf3eabea 100644 --- a/source/blender/functions/CMakeLists.txt +++ b/source/blender/functions/CMakeLists.txt @@ -38,6 +38,7 @@ set(SRC intern/multi_function_procedure.cc intern/multi_function_procedure_builder.cc intern/multi_function_procedure_executor.cc + intern/multi_function_procedure_optimization.cc FN_cpp_type.hh FN_cpp_type_make.hh @@ -59,6 +60,7 @@ set(SRC FN_multi_function_procedure.hh FN_multi_function_procedure_builder.hh FN_multi_function_procedure_executor.hh + FN_multi_function_procedure_optimization.hh FN_multi_function_signature.hh ) |