mirror of
https://github.com/wolfpld/tracy.git
synced 2025-03-20 07:40:02 +08:00
Zone children will be now collected in staging vectors. When the zone is ended (and no children can be added anymore to it), a size-fitted vector is allocated using slab allocation. The over-allocated vector is then put into cache for use in future zones. This is only active for vectors <= 8192 elements, or 64 KB (chosen arbitrarily), to reduce time spent on copying memory. Overall, this change should have the following effects: - System memory allocation pressure reduction, due to re-usage of vectors, which eliminates the need for constant growth. - Reduction of memory usage, because children vectors are now fitted to required size. - Slight increase of zone processing time, due to memory copying?