DMD Performance

About

This site tracks the performance of the D compiler. Every merge into master of dlang/dmd gets one point, CI builds that commit with ldc compiler with PGO and LTO, and measures it.

Most numbers are instruction counts from cachegrind: compiling hello.d, Phobos and a vibe.d app. They barely move between runs, so a change of 0.1% is real. The sizes of dmd and of a hello world are stripped binary sizes. Peak memory and the time dmd takes to build itself are noisier because they depend on the runner machine. The compile phases come from -ftime-trace and it's wall clock time. PERF.md has the command behind each metric.

The data is one JSON file per merge in dlang/dmd-perf-data, written by the perf workflow in dlang/dmd.