# Heap snapshots: разница и retainers (heapdiff.py) A = `results/20261026-s1/artifacts/memory-cycle10.heapsnapshot`, B = `results/20261026-s1/artifacts/memory-cycle20.heapsnapshot`, база = `results/20261026-s1/artifacts/memory-cycle00.heapsnapshot` Self size всех узлов: a_self_bytes 23066796, b_self_bytes 27208391, a_nodes 364458, b_nodes 463302, base_self_bytes 12931501, base_nodes 210912 Новых выживших объектов в B (id нет в A): 173067, 6271836 байт self size. ## Классы с наибольшим ростом self size (B - A) | класс | Δ число | Δ байт | число A | число B | байт A | байт B | |---|---|---|---|---|---|---| | (native) blink::MediaQueryFeatureExpNode | 23161 | 1852880 | 23215 | 46376 | 1857200 | 3710080 | | (native) blink::MediaQuery | 23161 | 741152 | 23237 | 46398 | 743584 | 1484736 | | (native) blink::MediaQuerySet | 23161 | 555864 | 23238 | 46399 | 557712 | 1113576 | | (native) blink::HeapVectorBacking | 31 | 8432 | 155 | 186 | 42160 | 50592 | | (native) LayoutShift | 54 | 8208 | 96 | 150 | 14592 | 22800 | | (native) LargestContentfulPaint | 40 | 5440 | 44 | 84 | 5984 | 11424 | | (array) (object elements) | 180 | 4440 | 3494 | 3674 | 154064 | 158504 | | (native) InteractionContentfulPaint | 40 | 4160 | 40 | 80 | 4160 | 8320 | ## Новые выжившие объекты B по классам | класс | число | байт | |---|---|---| | (native) blink::MediaQueryFeatureExpNode | 23153 | 1852240 | | (native) blink::MediaQuery | 23159 | 741088 | | (native) blink::HeapVectorBacking>::operator cppgc::internal::BasicPersistent *() [T = cppgc::internal::BasicPersistent]@../../third_party/blink/renderer/platform/wtf/thread_specific.h:137 <- (synthetic).[29]` - 1 / 36872 B: `(native) blink::NGShapeCache.[1] <- (native) blink::SimpleFontData.[2] <- (native) blink::HeapHashTableBacking>::operator cppgc::internal::BasicPersistent *() [T = cppgc::internal::BasicPersistent]@../../third_party/blink/renderer/platform/wtf/thread_specific.h:137 <- (synthetic).[29]` - 1 / 1160 B: `(native) blink::NGShapeCache.[1] <- (native) blink::SimpleFontData.[2] <- (native) blink::HeapHashTableBacking>::operator cppgc::internal::BasicPersistent *() [T = cppgc::internal::BasicPersistent]@../../third_party/blink/renderer/platform/wtf/thread_specific.h:137 <- (synthetic).[29]` - **(native) system** - 1 / 2916 B: `(object shape) system.dependent_code <- Object.map <- system.E <- (closure) (anonymous).context <- system.to <- system.previous` - 1 / 2916 B: `(object shape) system.dependent_code <- Object.map <- oW.dependencies <- oW.return <- (native) : 1 - (native) : 1