On Saturday, 11 May 2019 at 06:59:52 UTC, Denis Feklushkin wrote:
On Saturday, 11 May 2019 at 05:46:29 UTC, Denis Feklushkin
wrote:
All another calls is made inside of this lambda - maybe
lambdas is not traced by profiler?
Tried to remove lambda with same result.
Command:
llvm-profdata show -all-functions -topn=100000 default.profdata
returns huge amount of std*, core*, vibe* calls - it is all
used in my code. But here is no one my own function (except
"main").
Those calls are to templated functions I presume? (they are
instantiated in your program and hence instrumented)
Also I changed flags to "dflags-ldc":
["-fprofile-instr-generate", "-O0"] - second flag disables
optimisation (I assumed that optimizations magically completely
remove calls to my functions. But this is probably not the
case.)
No, indeed, -O0 doesn't (shouldn't!) matter.
It is strange that you don't see calls to your functions. Just to
verify, could you compile a simple program manually (without dub)
and verify that you see calls to your own functions? Lambdas
should also be instrumented, so please test that.
By the way, if you are on linux, then XRay should work like with
clang ( -fxray-instrument )
-Johan