C LuaJit 分析
Posted
技术标签:
【中文标题】C LuaJit 分析【英文标题】:C LuaJit Profiling 【发布时间】:2017-12-04 10:07:29 【问题描述】:我有以下执行堆栈:
C++
C Lua API
LuaJIT
C 函数 - 我自己的函数,通过从 lua 脚本调用的 C-Lua-API 注入到 Lua
我想分析这段代码。我想知道在 luajit 阶段花费的时间百分比。
我发现这里有问题。如果我将使用诸如 -pg -fprofile-generate -fprofile-use 之类的标志编译 luajit,它将与为生产构建编译的 luajit 不同。
有什么方法可以弄清楚 LUAJit 阶段发生了什么?
这个执行堆栈的好例子 - openresty
【问题讨论】:
代码在哪里? 例如,你可以看到 open-resty 源代码。 【参考方案1】:最好使用perf
实用程序和flamegraph。
并且没有理由使用 gcc
标志(如 -fomit-frame-pointer
、-fprofile-generate
、-fprofile-use
)重新编译。
perf
不需要此标志来收集信息。只有-pg
标志。
【讨论】:
以上是关于C LuaJit 分析的主要内容,如果未能解决你的问题,请参考以下文章