Tracy Profiler Integration

Nils Lankila NilsLankila at gmx.us
Tue Aug 11 08:45:03 UTC 2020


On Monday, 10 August 2020 at 21:54:33 UTC, Stefan Koch wrote:
> 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

Nice

> 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.

that cant be slower than callgrind !

> 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