【问题标题】:C LuaJit ProfilingC LuaJit 分析
【发布时间】:2017-12-04 10:07:29
【问题描述】:

我有以下执行堆栈:

  1. C++

  2. C Lua API

  3. LuaJIT

  4. C 函数 - 我自己的函数,通过从 lua 脚本调用的 C-Lua-API 注入到 Lua

我想分析这段代码。我想知道在 luajit 阶段花费的时间百分比。

我发现这里有问题。如果我将使用诸如 -pg -fprofile-generate -fprofile-use 之类的标志编译 luajit,它将与为生产构建编译的 luajit 不同。

有什么方法可以弄清楚 LUAJit 阶段发生了什么?

这个执行堆栈的好例子 - openresty

【问题讨论】:

  • 代码在哪里?
  • 例如,你可以看到 open-resty 源代码。

标签: c++ c linux lua profiling


【解决方案1】:

最好使用perf 实用程序和flamegraph。 并且没有理由使用 gcc 标志(如 -fomit-frame-pointer-fprofile-generate-fprofile-use)重新编译。

perf 不需要此标志来收集信息。只有-pg 标志。

【讨论】:

    猜你喜欢
    • 2014-07-19
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 1970-01-01
    • 2019-05-17
    • 2013-10-25
    • 1970-01-01
    • 2021-02-15
    相关资源
    最近更新 更多