Интерпретация профиля JetBrains dotMemory с массивами - PullRequest
0 голосов
/ 12 марта 2019

У меня есть алгоритм, который основан на сетке, которая имеет двумерный массив квадратов сетки и где каждый квадрат сетки имеет массив треугольников.

Я запустил dotMemory для профилирования использования памяти и заметил кое-что, что я не могу объяснить.

В представлении Dominators я вижу класс Grid, который является доминирующим элементом массива 2D GridSquare, а затем массив GridSquare является доминирующим для GridSquare и Triangle. Здесь говорится, что есть несколько тысяч треугольников. Однако, если я углублюсь в GridSquare, я увижу его треугольный массив и смогу развернуть его и увидеть, что здесь есть еще один треугольный узел, имеющий около 100 треугольников.

Итак, мой вопрос таков: почему существуют два треугольных узла с разными количествами, и свидетельствует ли это о неэффективном использовании памяти?

...