Сколько времени использует сборщик мусора?

Моя программа на Python демонстрирует любопытное поведение производительности: чем дольше она работает, тем медленнее становится. Поначалу он производит десятки рабочих единиц в минуту. Через час на единицу работы уходят десятки минут. Я подозреваю, что это вызвано перегруженностью сборщика мусора.

Уловка в том, что мой сценарий слишком требователен к памяти, чтобы cProfile мог работать с большими запусками. (см.: cProfile, занимающий много памяти )

Мы написали наш собственный плагин производительности, и мы можем наблюдать за большинством частей нашей системы, и ни одна из них не кажется проблемой. Единственный камень, который до сих пор не перевернут, - это GC.

Есть ли другой способ (кроме профиля или cProfile) узнать, сколько времени уходит на сборщик мусора?

8
задан Community 23 May 2017 в 11:53
поделиться