Моя программа на Python демонстрирует любопытное поведение производительности: чем дольше она работает, тем медленнее становится. Поначалу он производит десятки рабочих единиц в минуту. Через час на единицу работы уходят десятки минут. Я подозреваю, что это вызвано перегруженностью сборщика мусора.
Уловка в том, что мой сценарий слишком требователен к памяти, чтобы cProfile мог работать с большими запусками. (см.: cProfile, занимающий много памяти )
Мы написали наш собственный плагин производительности, и мы можем наблюдать за большинством частей нашей системы, и ни одна из них не кажется проблемой. Единственный камень, который до сих пор не перевернут, - это GC.
Есть ли другой способ (кроме профиля или cProfile) узнать, сколько времени уходит на сборщик мусора?