Статически рассчитать время выполнения и потребление памяти программы C

Я работаю над языком, который компилируется в C99 без использования malloc, рекурсии и циклов. Вся память предварительно выделяется, и все функции завершаются (если не возникает исключения, такого как деление на ноль).

Точка входа моего модуля всегда одна и та же: функция.

Есть ли инструмент, который в таких обстоятельствах рассчитает максимальное использование памяти и максимальное время выполнения моего кода?

1 ответ

valgrind --tool=massif --stacks=yes --pages-as-heap=yes

Вышеупомянутое должно профилировать все использование памяти.

Альтернативно, пока ваш исполняемый файл запущен, вы можете использоватьpmap -x PID(или посмотрите /proc/PID/maps).

Для времени выполнения я бы просто использовал/usr/bin/time -p exe_name

Другие вопросы по тегам