我有以下执行堆栈:
C++
C Lua API
卢阿吉特
C函数-我自己的函数,通过C-Lua-API注入Lua,该API从Lua脚本调用
我想分析这段代码。我想知道花在luajit阶段的时间百分比。
我看到这里出现了问题。如果我将用-pg-fprofile generate-fprofile use之类的标志编译luajit,那么它将不同于luajit为生产构建编译的那样。
有没有办法弄清楚卢阿吉特阶段发生了什么?
这个执行堆栈的好例子-openresty
最佳答案
最好使用perf
实用程序和flamegraph。
而且没有理由重新编译gcc
标记,比如-fomit-frame-pointer
,-fprofile-generate
,-fprofile-use
。perf
不需要此标志来收集信息。仅-pg
标志。