我正在研究一种编译为 C99 的语言,没有 malloc、没有递归、没有循环。所有内存都是预先分配的,并且所有函数都会终止(除非有除零之类的异常)。
我的模块的入口点始终相同:一个函数
void step(void)
。
有没有一个工具可以在这种情况下计算我的代码的最大内存使用量和最大执行时间?
valgrind --tool=massif --stacks=yes --pages-as-heap=yes
以上内容应分析所有内存使用情况。
或者,当可执行文件运行时,您可以使用
pmap -x PID
(或查看 /proc/PID/maps)。
对于执行时间,我只会使用
/usr/bin/time -p exe_name