mirror of
https://github.com/wolfpld/tracy.git
synced 2025-03-20 07:40:02 +08:00
Add zone vector cache.
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?
This commit is contained in:
@@ -178,6 +178,8 @@ private:
|
||||
Vector<Vector<ZoneEvent*>> zoneChildren;
|
||||
Vector<Vector<GpuEvent*>> gpuChildren;
|
||||
|
||||
Vector<Vector<ZoneEvent*>> zoneVectorCache;
|
||||
|
||||
CrashEvent crashEvent;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user