digitalmars.D.announce - Updates to compile-benchmark
- Per =?UTF-8?B?Tm9yZGzDtnc=?= (16/16) Sep 29 As a response to the recent speed-ups of DMD,
- jmh530 (4/20) Oct 03 Am I reading this right: dmd has runtime of 5,36 for us/f, gdc
- Atila Neves (3/9) Oct 05 They always have been? Maybe you're confusing compilation speed
- Shammah Chancellor (5/15) Oct 05 Am I reading the README correctly that the runtime of the d
- jmh530 (2/12) Oct 05 Ah, yes.
- Per =?UTF-8?B?Tm9yZGzDtnc=?= (8/11) Oct 07 For debug runtime performance, yes; for release runtime
- Per =?UTF-8?B?Tm9yZGzDtnc=?= (4/7) Oct 08 I must have messed something up in that version. Please see
- Per =?UTF-8?B?Tm9yZGzDtnc=?= (3/6) Oct 07 A larger set of new features has been added since 29 September.
- Per =?UTF-8?B?Tm9yZGzDtnc=?= (44/45) Oct 07 Regarding the recent improvements to DMD, an important case is
As a response to the recent speed-ups of DMD, https://github.com/nordlow/compiler-benchmark/ has received several improvements during the past week. As a result, most notably, - The output has become more readable through compacter table layouts and where the output has been sectioned by language into 3 categories - Benchmarking is now parallelized - Language coverage is now broader - The README.md is now (more) in sync with the code - A new `--path` flag has been added to the benchmark script for better execution control - Relative metrics is opt-in via `--rel` - ... Feel free to try it out and suggest improvements. Happy benchmarking.
Sep 29
On Tuesday, 29 September 2026 at 21:48:21 UTC, Per Nordlöw wrote:As a response to the recent speed-ups of DMD, https://github.com/nordlow/compiler-benchmark/ has received several improvements during the past week. As a result, most notably, - The output has become more readable through compacter table layouts and where the output has been sectioned by language into 3 categories - Benchmarking is now parallelized - Language coverage is now broader - The README.md is now (more) in sync with the code - A new `--path` flag has been added to the benchmark script for better execution control - Relative metrics is opt-in via `--rel` - ... Feel free to try it out and suggest improvements. Happy benchmarking.Am I reading this right: dmd has runtime of 5,36 for us/f, gdc has 125,46 and ldmd2 has 175,52. So ldc and gdc are slower than dmd?
Oct 03
On Sunday, 4 October 2026 at 02:26:20 UTC, jmh530 wrote:On Tuesday, 29 September 2026 at 21:48:21 UTC, Per Nordlöw wrote:They always have been? Maybe you're confusing compilation speed with the speed of the generated binary?[...]Am I reading this right: dmd has runtime of 5,36 for us/f, gdc has 125,46 and ldmd2 has 175,52. So ldc and gdc are slower than dmd?
Oct 05
On Monday, 5 October 2026 at 08:29:58 UTC, Atila Neves wrote:On Sunday, 4 October 2026 at 02:26:20 UTC, jmh530 wrote:Am I reading the README correctly that the runtime of the d samples are also faster? It also says that the build times of Cuik are faster, but from reading the table that's not what the table says?On Tuesday, 29 September 2026 at 21:48:21 UTC, Per Nordlöw wrote:They always have been? Maybe you're confusing compilation speed with the speed of the generated binary?[...]Am I reading this right: dmd has runtime of 5,36 for us/f, gdc has 125,46 and ldmd2 has 175,52. So ldc and gdc are slower than dmd?
Oct 05
On Monday, 5 October 2026 at 08:29:58 UTC, Atila Neves wrote:On Sunday, 4 October 2026 at 02:26:20 UTC, jmh530 wrote:Ah, yes.On Tuesday, 29 September 2026 at 21:48:21 UTC, Per Nordlöw wrote:They always have been? Maybe you're confusing compilation speed with the speed of the generated binary?[...]Am I reading this right: dmd has runtime of 5,36 for us/f, gdc has 125,46 and ldmd2 has 175,52. So ldc and gdc are slower than dmd?
Oct 05
On Sunday, 4 October 2026 at 02:26:20 UTC, jmh530 wrote:Am I reading this right: dmd has runtime of 5,36 for us/f, gdc has 125,46 and ldmd2 has 175,52. So ldc and gdc are slower than dmd?For debug runtime performance, yes; for release runtime performance, no. Walter Bright made a pragmatic trade-off favoring fast compilation *and* fast execution generated machine code for the sake of rapid developer turnaround during the iteration loop. The primary objective of compiler-benchmark is to compare this developer inner loop—such as quick semantic checking and running unit tests in debug mode.
Oct 07
On Sunday, 4 October 2026 at 02:26:20 UTC, jmh530 wrote:Am I reading this right: dmd has runtime of 5,36 for us/f, gdc has 125,46 and ldmd2 has 175,52. So ldc and gdc are slower than dmd?I must have messed something up in that version. Please see updated tables at https://github.com/nordlow/compiler-benchmark/#tier-2-modern-systems-languages-ahead-of-time.
Oct 08
On Tuesday, 29 September 2026 at 21:48:21 UTC, Per Nordlöw wrote:As a response to the recent speed-ups of DMD, https://github.com/nordlow/compiler-benchmark/ has received several improvements during the past week.A larger set of new features has been added since 29 September. Please consult README for details.
Oct 07
On Wednesday, 7 October 2026 at 16:37:44 UTC, Per Nordlöw wrote:A larger set of new features has been added since 29 September.Regarding the recent improvements to DMD, an important case is `LD_PRELOAD=/usr/lib/libmimalloc.so ./benchmark --languages=D:dmd,Zig,Rust,Odin,C++` outputting ``` Running benchmarks in parallel across 8 CPU core(s) (1 worker per core)... *Full type inference, monomorphization/generics, semantic safety, module systems.* *Cells with two values: untemplated, templated (`-` = not available).* ``` | Language (Exec) | Total (Build + Run) [us/f] | Check [us/f] | Compile [us/f] | Check RSS [kB/f] | Build RSS [kB/f] | Output Size [B/f] | | :-------------------------------: | :------------------------------------: | :----------: | :------------: | :--------------: | :--------------: | :---------------: | | C++ (clang++ 23.1.1) | 85.3 (85.1+0.16), 117.7 (117.7+0.07) | 17.3, 30.6 | 79.6, 98.6 | 3.6, 6.0 | 10.1, 13.2 | 151.1, 155.1 | | C++ (g++ 16.2.1) | 249.0 (248.9+0.06), 312.4 (312.4+0.04) | 31.3, 75.1 | 394.8, 314.1 | 7.6, 11.4 | 18.1, 21.8 | 126.1, 130.1 | | C++ (g++-15 15.3.0) | 228.5 (228.5+0.05), 263.8 (263.8+0.04) | 26.7, 68.1 | 228.5, 276.6 | 7.0, 10.5 | 17.4, 21.7 | 126.1, 130.1 | | D (dmd 2.113.0-fe13b6a) | 13.5 (13.5+0.04), 20.9 (20.9+0.04) | 4.8, 9.9 | 10.9, 17.7 | 4.8, 11.9 | 16.8, 23.7 | 178.5, 194.5 | | Odin (odin dev-2026-09:a2fb372b7) | 90.4 (90.3+0.10), 106.2 (106.2+0.04) | 20.4, 29.2 | N/A | 20.5, 32.0 | 40.6, 51.5 | 112.6, 132.6 | | Rust (rustc 1.100.0-nightly) | 177.9 (177.8+0.17), 189.3 (189.3+0.09) | 88.5, 114.1 | N/A | 16.2, 17.5 | 32.0, 30.1 | 360.4, 300.3 | | Zig (zig 0.18.0-dev.35+5e754304d) | 87.2 (87.1+0.10), 93.9 (93.8+0.10) | 22.1, 24.5 | 86.2, 90.0 | 4.5, 5.4 | 9.6, 12.8 | 1503.4, 1422.5 | on my AMD Ryzen 7 AI 350.
Oct 07









Shammah Chancellor <shammah.chancellor gmail.com> 