Blender Git Commit Log

Git Commits -> Revision a812fe8

Revision a812fe8 by Jacques Lucke (master)
October 3, 2021, 14:05 (GMT)
Nodes: use extern templates for socket declarations

The new socket declaration api generates a surprising amount
of symbols in each translation unit where it is used. This resulted
in a measurable compile time increase.

This commit reduces the number of symbols that are generated in
each translation unit significantly. For example, in
`node_geo_distribute_points_on_faces.cc` the number of symbols
decreased from 1930 to 1335. In my tests, this results in a 5-20%
compile time speedup when this and similar files are compiled
in isolation (measured by executing the command in `compile_commands.json`).

Compiling the distribute points on faces node sped up from ~2.65s to ~2.4s.

Commit Details:

Full Hash: a812fe8ceb75fd2befe44a151f1e214f357c24c2
Parent Commit: 2f52f56
Lines Changed: +57, -0

1 Added Path:

/source/blender/nodes/intern/extern_implementations.cc (+34, -0) (View)

3 Modified Paths:

/source/blender/nodes/CMakeLists.txt (+1, -0) (Diff)
/source/blender/nodes/NOD_node_declaration.hh (+1, -0) (Diff)
/source/blender/nodes/NOD_socket_declarations.hh (+21, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021