Tracy Profiler Integration
Stefan Koch
uplink.coder at googlemail.com
Mon Aug 10 21:54:33 UTC 2020
On Monday, 3 August 2020 at 20:36:51 UTC, Stefan Koch wrote:
> Hello Folks,
>
> I am currently integrating the tracy profiler
> (https://github.com/wolfpld/tracy)
> with dmd.
>
> Such that instead of the profiler in druntime, tracy can be
> used for instrumented profiling.
>
>
> The current progress is here:
> https://github.com/dlang/dmd/compare/master...UplinkCoder:tracy?expand=1
> there are still some teething problems, but I am confident
> that it will be useful soon.
>
> Cheers,
>
> Stefan
There are some news of this:
Here is a screenshot of the Tracy profiler integration being
used, for a "trivial" hello world example, (in reliity the
druntime and phobos templates gave me a bit of trouble ...)
https://ibb.co/0XKyJd3
The code on the left hand side can be compiled with the -tracy
switch.
and run (provided you copy TracyClientNoExit.o) into
/tmp/TracyClientNoExit.o
(which you have to compile yourself using
https://github.com/UplinkCoder/tracy/tree/fixit
and running the build.sh from there).
Cheers everyone!
Note, currently I am using the c-api for dynamic langauges, which
creates source locations every time, that makes the profiling a
little more expensive than it would usually be.
Hence even a no-op function will take about a microsecond ... But
this can be improved later.
Using tracy I found out that the unsignedTempString function in
Phobos is somewhat slow ...
No wonder it divides in a loop.
I'll replace it soon.
More information about the Digitalmars-d
mailing list