Skip to content

Allow one layer of unbalanced if to be inlined - #23816

Open
limepoutine wants to merge 1 commit into
dlang:masterfrom
limepoutine:inliner-branch
Open

limepoutine wants to merge 1 commit into
dlang:masterfrom
limepoutine:inliner-branch

Conversation

@limepoutine

Copy link
Copy Markdown
Contributor

This now gives small performance benefits with std.random unittests (dmd -inline -main -O -unittest -version=StdUnittest random.d).

Benchmark 1: ./random_master
  Time (mean ± σ):     451.5 ms ±   5.1 ms    [User: 450.3 ms, System: 3.1 ms]
  Range (min … max):   443.7 ms … 465.3 ms    20 runs

Benchmark 2: ./random_pr
  Time (mean ± σ):     444.1 ms ±   4.1 ms    [User: 442.9 ms, System: 3.1 ms]
  Range (min … max):   438.6 ms … 455.5 ms    20 runs
 
Summary
  ./random_pr ran
    1.02 ± 0.01 times faster than ./random_master

@github-actions

Copy link
Copy Markdown

DMD perf check

Metric Base PR Δ
dmd binary size (stripped) 6.87 MB 6.88 MB +0.11%
All measurements
Metric Base PR Δ
compile hello.d (instr) 213.4 M 213.4 M +0.001%
compile hello.d -O -release (instr) 231.7 M 231.7 M 0.000%
compile Phobos (instr) 5,124.4 M 5,124.0 M -0.007%
compile Phobos codegen (instr) 1,473.6 M 1,473.1 M -0.036%
compile vibe.d (instr) 15,116.1 M 15,118.0 M +0.012%
dmd binary size (stripped) 6.87 MB 6.88 MB +0.11%
hello binary size (stripped) 0.72 MB 0.72 MB 0.00%
peak RSS (compile hello.d) 43.14 MB 43.14 MB -0.02%
peak RSS (compile Phobos) 619.0 MB 617.7 MB -0.20%
peak RSS (compile vibe.d) 1918 MB 1917 MB -0.02%
compile dmd itself (wall) 12.1 s 12.1 s +0.31%
compile hello.d (wall) 64.1 ms 63.7 ms -0.68%
compile Phobos (wall) 1,580 ms 1,589 ms +0.55%

033916e vs merge-base 9af84e9 · about these metrics

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant