Как профилировать программу Erlang с точки зрения использования памяти?

Я хотел бы еще больше повысить эффективность существующей программы Erlang. Сначала я хотел бы выявить узкие места, а затем принять решение о дальнейшей оптимизации.

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

Для начала было бы достаточно профилировать один модуль, который не порождает процессы, только его функции будут вызываться. Это уже помогло бы, поскольку я мог разделить программу на отдельные модули для тестирования.

Типичные подозрительные моменты - когда обрабатываются большие списки.

Здесь использование++ был решенlists:reverse([Head|Tail]) как синтаксис.

Я также рассматриваю возможность использования таблиц ETS вместо списков для случаев с несколькими сотнями элементов.

Заранее спасибо!