Awesome Profilers

Awesome list of different profilers for memory, performance, and others in different operating systems

Memory Profilers

Linux

  • heaptrack - A heap memory profiler for Linux
  • valgrind - Valgrind is an instrumentation framework for building dynamic analysis tools.

Performance Profilers

Linux

  • perf_events - An event-oriented observability tool, that can help you solve advanced performance and troubleshooting functions.
  • LTTng - LTTng is an open-source tracing framework for Linux.
  • Sysprof - Sysprof is a statistical, system-wide profiler for Linux.
  • gprof - The GNU Profiler
  • OProfile - OProfile is an open-source project that includes a statistical profiler for Linux systems, capable of profiling all running code at low overhead.

Tracing Tools

  • bpftrace - High-level tracing language for Linux systems
  • ftrace - Ftrace is an internal tracer designed to help developers and designers of systems to find what is going on inside the kernel.
  • ltrace - ltrace intercepts and records dynamic library calls which are called by an executed process and the signals received by that process.
  • strace - A diagnostic, debugging, and instructional userspace utility for Linux
  • ptrace - Process trace for Linux systems

Python Profilers

  • The Python Profilers -
  • pyperf - Toolkit to run Python benchmarks
  • pyinstrument - Call stack profiler for Python. Shows you why your code is slow!
  • py-spy - Sampling profiler for Python programs
  • scalene - A high-performance, high-precision CPU, GPU, and memory profiler for Python with AI-powered optimization proposals

Rust Profilers

  • pprof-rs - A Rust CPU profiler implemented with the help of backtrace-rs

Others

  • hyperfine - A command-line benchmarking tool for different operating systems