LINUX.ORG.RU

История изменений

Исправление 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++ я еще прогнал через валгринд, результат практически такой же. С питонами валгринд работает как-то непонятно, видать у питона аллокация работает как-то особо.