2017-12-04 1 views
0

나는 다음과 같은 한 실행 스택 :C LuaJit 프로파일

  1. C++

  2. C 루아 API

  3. LuaJIT

  4. C 기능 - 내 자신의 기능에 주입 루아 스크립트에서 호출 한 C-Lua-API를 통한 루아

이 코드의 프로파일 링을 원합니다. 루아제 단계에서 보낸 시간 비율을 알고 싶습니다.

여기에 문제가 있습니다. luajit을 -pg -fprofile-generate -fprofile-like와 같은 플래그로 컴파일하면 생산 빌드를 위해 컴파일 된 luajit과 같지 않을 것입니다.

LUAJit 단계에서 어떤 일이 벌어지고 있는지 알아낼 수있는 방법이 있습니까? 이 실행의

좋은 예는 스택 - openresty

+0

코드는 어디에 있습니까? – Lamar

+0

예를 들어, u는 open-resty 소스를 볼 수 있습니다. – Eendru

답변

0

그건 좋은 생각 perf 유틸리티 및 flamegraph를 사용합니다. , -fprofile-generate, -fprofile-use과 같은 gcc 플래그를 사용하여 다시 컴파일 할 이유가 없습니다.

perf 정보 수집시이 플래그가 필요하지 않습니다. -pg 플래그 만