52700.fb2
MUT
time
0.01s
(
0.01s elapsed)
GC
time
0.01s
(
0.02s elapsed)
EXIT
time
0.00s
(
0.00s elapsed)
Total
time
0.02s
(
0.03s elapsed)
%GC
time
60.0%
(69.5% elapsed)
Alloc rate
1,767,939,507 bytes per MUT second
Productivity
40.0% of total user, 26.0% of total elapsed
Был распечатан результат и отчёт о работе программы. Разберёмся с показателями:
bytes allocated in the heap
-- число байтов выделенных в куче
-- за всё время работы программы
bytes copied during GC
-- число скопированных байтов
-- за всё время работы программы
bytes maximum residency
-- в каком объёме памяти работала программа
-- в скобках указано число глубоких очисток
bytes maximum slop
-- максимум потерь памяти из-за фрагментации
total memory in use
-- сколько всего памяти было запрошено у ОС
Показатель bytes maximum residency измеряется только при глубокой очистке, поскольку новая память
выделяется именно в этот момент. Размер памяти выделенной в куче гораздо больше общего объёма памяти.
Так происходит потому, что этот показатель указывает на общее число памяти в куче за всё время работы
программы. Ведь мы переиспользуем не нужную нам память. По этому показателю можно судить о том,
сколько замыканий (объектов) было выделено в куче.
Следующие две строчки говорят о числе сборок мусора. Мы видим, что GC выполнил 21 поверхностную
очистку (поколение 0) и 3 глубоких (покколение 1). Дальше идут показатели скорости. INIT и EXIT – это