timholy / SnoopCompile.jl

Provide insights about latency (TTFX) for Julia packages
https://timholy.github.io/SnoopCompile.jl/dev/
Other
309 stars 48 forks source link

Annotate flamegraph with isprecompilable #175

Closed timholy closed 3 years ago

timholy commented 3 years ago

This uses red coloration to indicate non-precompilable methods.

It also changes the default rendering of the flamegraph func. The previous default was too expensive for long traces, often requiring more than a minute just to print all the signatures. This seems wasteful given that the signature is already available via the linfo field of the StackFrame.

To support integration with other tools, this attempts to incorporate some of the spirit of #160, especially by allowing mode=:slots (deliberately undocumented for now). However, this should be a target for removal at some point, as this is an abuse and there would appear to be much cleaner solutions. (e.g., generalize the linfo field of StackFrame to allow slottypes to be supplied.)

Closes #160