Blender Git Commit Log

Git Commits -> Revision 21268ad

Revision 21268ad by Jacques Lucke (master)
March 22, 2021, 16:06 (GMT)
Functions: devirtualize virtual arrays in simple functions

In some multi-functions (such as a simple add function), the virtual method
call overhead to access array elements adds significant overhead. For these
simple functions it makes sense to generate optimized versions for different
types of virtual arrays. This is done by giving the compiler all the information
it needs to devirtualize virtual arrays.

In my benchmark this speeds up processing a lot of data with small function 2-3x.

This devirtualization should not be done for larger functions, because it increases
compile time and binary size, while providing a negilible performance benefit.

Commit Details:

Full Hash: 21268ad20ae2f672e116e06721c5e46ee63a1c9b
Parent Commit: 6cec782
Lines Changed: +98, -8

2 Modified Paths:

/source/blender/blenlib/BLI_virtual_array.hh (+88, -4) (Diff)
/source/blender/functions/FN_multi_function_builder.hh (+10, -4) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021