Существует ли механизм для получения надежного значения количества активных объектов в среде Ruby? Я нашел несколько подходов для получения ответа, и обычно они напоминают:
c = 0
ObjectSpace.each_object { c += 1 }
К сожалению, проблема в том, что существует большое количество объектов Fixnum, созданных просто для составления таблиц, не говоря уже о некоторых накладных расходах самого метода ObjectSpace.
Конечно, можно отфильтровать результаты по классам и просто игнорировать объекты Fixnum, но это кажется несовершенным обходным решением, так как он делает предположения о том, как работает each_object.
Я просто хотел бы найти механизм для определения того, сколько мусора образуется между одной точкой во время работы и другой, поскольку сборщик мусора может быть отключен в диагностических целях для обеспечения точного теста.