Side by side
async-profiler vs GNU gprof
Both stand on profiling software. Which one you can start free with, which one lets you read the code, and what each costs once you pay.
async-profiler covers several Java performance targets and provides multiple ways to inspect results. Check its build requirements if you plan to build it yourself rather than use an official build.
Visit async-profilerChoose GNU gprof when you need flat profiles, call graphs, or annotated source for a program built with profiling enabled. Its timing boundaries and function-call overhead matter when interpreting results. For line-by-line profiling on newer GCC versions, the manual points to gcov; it also describes gprofng as a more modern Binutils profiler with more functionality.
Visit GNU gprofThe facts
| async-profiler | GNU gprof | |
|---|---|---|
| Free plan | Yes | Yes |
| Open source | Not published | Not published |
| Runs on | API, Linux, Mac | Linux, Self-hosted |
| Lowest paid plan | Free or on request | Free or on request |
| Plans published | 1 | 1 |
| Maker | Not published | Not published |
| Website | github.com | sourceware.org |
| On profiling software | #3 of 29 | #7 of 29 |
async-profiler: what it does well
- Targets CPU, heap, native memory, locks, and counters.
- Includes native and kernel frames in stack traces.
- Exports flame graphs, HTML tree views, and text.
- Official builds cover Linux and macOS x64 and arm64.
- Can profile Docker or LXC processes from host or container.
What to know first
- Building requires make, a supported compiler, static libstdc++, and JDK 11+.
- Official maintained builds are listed for Linux and macOS only.
- Nightly binaries for previous commits are retained for 30 days.
GNU gprof: what it does well
- Reports can include a flat profile, call graph, and annotated source.
- Combines statistics from multiple profile data files.
- Free and open source under the GNU Binutils project.
- Supports profiling for C and C++ programs.
What to know first
- Profiling requires compiling and linking with `-pg` or equivalent.
- Timing excludes periods when the program is not running.
- Profiling overhead can create artificial hot spots.
- Line profiling works only with older GCC builds.
Alternatives to async-profiler Alternatives to GNU gprof The whole list