Grahamdumpleton iconGrahamdumpletonOct 1, 2026 ~1 min source read

Graham Dumpleton: Getting to know Tachyon

It is called Tachyon, it lives in the standard library as the profiling.sampling module, and unlike cProfile it is a sampling profiler rather than a tracing one. I now have a set of hands-on workshops for it, which you can find at github.com/GrahamDumpleton/tachyon-workshops or on the workshops page of this site, and they have reached the point where I am happy for other people to do them.

Graham Dumpleton: Getting to know Tachyon

Share this story

Send the public story page.

Useful takeaways from this story.

It is called Tachyon, it lives in the standard library as the profiling.sampling module, and unlike cProfile it is a sampling profiler rather than a tracing one.

I now have a set of hands-on workshops for it, which you can find at github.com/GrahamDumpleton/tachyon-workshops or on the workshops page of this site, and they have reached the point where I am happy for...

For the past while I have been working on wrapture, a library built on top of wrapt for attaching bindings to arbitrary call sites in a Python program without modifying the code being observed, then doing...

Building the complete brief

The page is ready to read now. The fuller skim-friendly version will appear here automatically.

The useful part

It is called Tachyon, it lives in the standard library as the profiling.sampling module, and unlike cProfile it is a sampling profiler rather than a tracing one. I now have a set of hands-on workshops for it, which you can find at github.com/GrahamDumpleton/tachyon-workshops or on the workshops page of this site, and they have reached the point where I am happy for other people to do them. They were written so I could learn Tachyon myself, and the reason I wanted to learn it had little to do with profiling as such.

How it works

  • For the past while I have been working on wrapture, a library built on top of wrapt for attaching bindings to arbitrary call sites in a Python program without modifying the code being observed, then doing...
  • So when a profiler landed in the standard library the obvious question was whether wrapture could make use of it.
  • Could Tachyon be offered as part of wrapture's tracing, so that a binding on a call site could also tell you what the program was doing underneath that call?
  • I did not know, and reading the Tachyon documentation was not going to tell me, because the documentation describes what each option does and not what you would want it for.
  • The only way I was going to get a real answer was to use every part of the profiler on real programs, and the way I have been doin...

Details worth keeping

That said, they were not written for other people in the first place.

Keep reading in the app

Open the app view to save this story, compare related coverage, and continue from the same source.

Open in app