Я хотел бы еще больше повысить эффективность существующей программы Erlang. Сначала я хотел бы определить узкие места, а затем решить, где еще можно оптимизировать.
Я пробовал fprof
, но он дает только информацию об общем и среднем времени исполнения. Мне больше всего хотелось бы увидеть журнал, похожий на вывод fprof, но с точки зрения среднего и общего использования памяти в отношении функций и процессов.
Для начала достаточно было бы профилировать один модуль, который не порождает процессы, только вызываемые функции. Это уже помогло бы, поскольку я мог бы разделить программу на отдельные модули для тестирования.
Типичные подозрительные точки, где обрабатываются более крупные списки.
Здесь использование ++
было разрешено с помощью lists:reverse([Head|Tail])
как синтаксис.
Я также рассматриваю использование таблиц ETS вместо списков для случаев с более чем несколькими сотнями элементов.
Спасибо заранее!