История изменений
Исправление provaton, (текущая версия) :
А как лучше всего забенчмаркать объем памяти? Я написал маленький скрипт, который парсит вывод ps во время работы программы, может есть лучше способ?
Итак, результаты через ps:
Реализация metaprog на момент выхода имела RSS 2359428кб, но у него 10 итераций и судя по всему память после каждой итерации не очищается. Потребление памяти вырастает после каждой итерации.
Прямая сишная реализация - 13236кб, потребление почти не росло за время выполнения (в этой реализации тоже 10 итераций).
Антоновская реализация на C++ на хешах - 148096кб
Антоновская реализация на питоне через python2 - 744432кб
Антоновская реализация на питоне через pypy - 495192кб
Реализации на метапроге, C и C++ я еще прогнал через валгринд, результат практически такой же. С питонами валгринд работает как-то непонятно, видать у питона аллокация работает как-то особо.
Исходная версия provaton, :
А как лучше всего забенчмаркать объем памяти? Я написал маленький скрипт, который парсит вывод ps во время работы программы, может есть лучше способ?
Итак, результаты через ps:
Реализация metaprog на момент выхода имела RSS 2359428кб, но у него 10 итераций и судя по всему память после каждой итерации не очищается. Потребление памяти вырастает после каждой итерации.
Прямая сишная реализация - 13236кб, потребление почти не росло за время выполнения (в этой реализации тоже 10 итераций).
Антоновская реализация на C++ на хешах - 148096кб
Антоновская реализация на питоне через python2 - 744432кб Антоновская реализация на питоне через pypy - 495192кб
Реализации на метапроге, C и C++ я еще прогнал через валгринд, результат практически такой же. С питонами валгринд работает как-то непонятно, видать у питона аллокация работает как-то особо.