Collection of examples and links that uses different profiling tools to show memory usage and timings.
Shows how to use the profiler and what the output looks like. Includes only tools that are maintained.
awesome-profiling: Great list of profiling tools, though includes some tools for Python that are no longer maintained.
⚙️ Tools and Techniques for Profiling Code
- Game Development: C#, Unity, Godot
- Node.js: JavaScript, TypeScript
- Python: examples using cProfile, guppy3, psutil, memray, pyinstrument, tracemalloc, yappi, filprofiler, DTrace
- gprof: GNU Profiler
- Tracy Profiler: supports C, C++, Lua, Python with 3rd party bindings for Rust, Zig, C#
- valgrind
- Apple Instruments
- VisualVM: Java profiling tool
- Java Flight Recorder and JDK Mission Control: Java profiling tool
- Chrome DevTools, JavaScript in the Web Browser
- AI: Claude Skill "performance profiler" for various performance profiling tools
- "All my favorite tracing tools: eBPF, QEMU, Perfetto, new ones I built and more", Tristan Hume
- "Flame Graphs: The future of performance analysis", Brendan Gregg
- "Flame Graphs", Brendan Gregg
- "Sampling v. tracing", Dan Luu
- Memory and CPU profiling, "The Hacker's Guide to Scaling Python", Julien Danjou
- ebpf-apps: sample apps for eBPF for C, C++, Python, Go, and Rust.