Skip to content

Instantly share code, notes, and snippets.

@tenderlove
Created April 12, 2024 20:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tenderlove/e42674773300e40d68c764876508ad93 to your computer and use it in GitHub Desktop.
Save tenderlove/e42674773300e40d68c764876508ad93 to your computer and use it in GitHub Desktop.
$ make benchmark ITEM=vm_call
/Users/aaron/.rubies/arm64/ruby-trunk/bin/ruby --disable=gems -rrubygems -I./benchmark/lib ./benchmark/benchmark-driver/exe/benchmark-driver \
--executables="compare-ruby::/Users/aaron/.rubies/arm64/ruby-trunk/bin/ruby --disable=gems -I.ext/common --disable-gem" \
--executables="built-ruby::./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems --disable-gem" \
--output=markdown --output-compare -v $(find ./benchmark -maxdepth 1 -name 'vm_call' -o -name '*vm_call*.yml' -o -name '*vm_call*.rb' | sort)
compare-ruby: ruby 3.4.0dev (2024-04-12T17:49:17Z master 1521af3259) [arm64-darwin23]
built-ruby: ruby 3.4.0dev (2024-04-12T19:48:34Z speed-forward 0265c020ed) [arm64-darwin23]
warming up........
# Iteration per second (i/s)
| |compare-ruby|built-ruby|
|:------------------------------|-----------:|---------:|
|bmethod_simple_0 | 71.697M| 71.822M|
| | -| 1.00x|
|bmethod_simple_1 | 67.279M| 66.637M|
| | 1.01x| -|
|bmethod_simple_0_splat | 46.214M| 46.947M|
| | -| 1.02x|
|bmethod_simple_1_splat | 43.503M| 44.421M|
| | -| 1.02x|
|bmethod_no_splat | 24.548M| 24.746M|
| | -| 1.01x|
|bmethod_0_splat | 24.129M| 24.202M|
| | -| 1.00x|
|bmethod_1_splat | 23.871M| 23.953M|
| | -| 1.00x|
|bmethod_10_splat | 21.778M| 21.758M|
| | 1.00x| -|
|bmethod_100_splat | 5.593M| 5.528M|
| | 1.01x| -|
|bmethod_kw | 34.323M| 34.881M|
| | -| 1.02x|
|bmethod_no_kw | 41.575M| 40.989M|
| | 1.01x| -|
|bmethod_kw_splat | 21.724M| 20.685M|
| | 1.05x| -|
|1 | 15.042M| 14.840M|
| | 1.01x| -|
|1_mutable | 6.698M| 6.701M|
| | -| 1.00x|
|10 | 7.071M| 6.974M|
| | 1.01x| -|
|10_mutable | 2.186M| 2.191M|
| | -| 1.00x|
|100 | 2.076M| 2.110M|
| | -| 1.02x|
|100_mutable | 295.775k| 287.444k|
| | 1.03x| -|
|1000 | 342.724k| 335.571k|
| | 1.02x| -|
|1000_mutable | 32.085k| 31.962k|
| | 1.00x| -|
|method_missing_simple_0 | 30.383M| 30.698M|
| | -| 1.01x|
|method_missing_simple_1 | 29.171M| 28.439M|
| | 1.03x| -|
|method_missing_simple_0_splat | 25.058M| 24.657M|
| | 1.02x| -|
|method_missing_simple_1_splat | 24.479M| 24.087M|
| | 1.02x| -|
|method_missing_no_splat | 16.656M| 16.463M|
| | 1.01x| -|
|method_missing_0_splat | 15.519M| 15.535M|
| | -| 1.00x|
|method_missing_1_splat | 15.537M| 15.473M|
| | 1.00x| -|
|method_missing_10_splat | 14.562M| 14.611M|
| | -| 1.00x|
|method_missing_200_splat | 3.299M| 3.371M|
| | -| 1.02x|
|method_missing_kw | 24.976M| 24.776M|
| | 1.01x| -|
|method_missing_no_kw | 27.781M| 27.739M|
| | 1.00x| -|
|method_missing_kw_splat | 15.118M| 14.896M|
| | 1.01x| -|
|method_missing_0_splat_kw | 10.663M| 10.556M|
| | 1.01x| -|
|method_missing_1_splat_kw | 10.482M| 10.571M|
| | -| 1.01x|
|method_missing_10_splat_kw | 10.335M| 10.270M|
| | 1.01x| -|
|method_missing_200_splat_kw | 3.042M| 3.057M|
| | -| 1.00x|
|send_simple_0 | 29.672M| 30.672M|
| | -| 1.03x|
|send_simple_1 | 28.442M| 29.365M|
| | -| 1.03x|
|send_simple_0_splat | 25.073M| 25.413M|
| | -| 1.01x|
|send_simple_1_splat | 24.855M| 25.277M|
| | -| 1.02x|
|send_simple_0_splat_comb | 25.041M| 25.295M|
| | -| 1.01x|
|send_simple_1_splat_comb | 24.212M| 24.511M|
| | -| 1.01x|
|send_no_splat | 17.062M| 17.030M|
| | 1.00x| -|
|send_0_splat | 16.157M| 16.034M|
| | 1.01x| -|
|send_1_splat | 16.028M| 16.053M|
| | -| 1.00x|
|send_10_splat | 15.267M| 14.514M|
| | 1.05x| -|
|send_200_splat | 3.364M| 3.258M|
| | 1.03x| -|
|send_0_splat_comb | 15.137M| 15.121M|
| | 1.00x| -|
|send_1_splat_comb | 15.184M| 15.168M|
| | 1.00x| -|
|send_10_splat_comb | 13.819M| 13.597M|
| | 1.02x| -|
|send_200_splat_comb | 3.012M| 3.016M|
| | -| 1.00x|
|send_kw | 25.176M| 25.001M|
| | 1.01x| -|
|send_no_kw | 27.567M| 27.659M|
| | -| 1.00x|
|send_kw_splat | 14.852M| 15.148M|
| | -| 1.02x|
|send_0_splat_kw | 10.899M| 10.698M|
| | 1.02x| -|
|send_1_splat_kw | 10.850M| 10.506M|
| | 1.03x| -|
|send_10_splat_kw | 10.440M| 10.349M|
| | 1.01x| -|
|send_200_splat_kw | 3.045M| 3.082M|
| | -| 1.01x|
|send_0_splat_comb_kw | 8.883M| 8.762M|
| | 1.01x| -|
|send_1_splat_comb_kw | 8.508M| 8.379M|
| | 1.02x| -|
|send_10_splat_comb_kw | 8.172M| 8.176M|
| | -| 1.00x|
|send_200_splat_comb_kw | 2.509M| 2.500M|
| | 1.00x| -|
|symproc_simple_0 | 25.508M| 26.420M|
| | -| 1.04x|
|symproc_simple_1 | 25.421M| 25.810M|
| | -| 1.02x|
|symproc_simple_0_splat | 22.497M| 22.628M|
| | -| 1.01x|
|symproc_simple_1_splat | 22.585M| 22.181M|
| | 1.02x| -|
|symproc_simple_0_splat_comb | 21.152M| 20.925M|
| | 1.01x| -|
|symproc_simple_1_splat_comb | 20.940M| 21.063M|
| | -| 1.01x|
|symproc_no_splat | 15.537M| 15.554M|
| | -| 1.00x|
|symproc_0_splat | 14.969M| 14.694M|
| | 1.02x| -|
|symproc_1_splat | 15.029M| 14.617M|
| | 1.03x| -|
|symproc_10_splat | 14.025M| 13.869M|
| | 1.01x| -|
|symproc_200_splat | 3.336M| 3.292M|
| | 1.01x| -|
|symproc_0_splat_comb | 13.830M| 13.815M|
| | 1.00x| -|
|symproc_1_splat_comb | 14.176M| 14.000M|
| | 1.01x| -|
|symproc_10_splat_comb | 12.870M| 13.034M|
| | -| 1.01x|
|symproc_200_splat_comb | 2.904M| 2.961M|
| | -| 1.02x|
|symproc_kw | 22.604M| 22.824M|
| | -| 1.01x|
|symproc_no_kw | 24.121M| 24.071M|
| | 1.00x| -|
|symproc_kw_splat | 14.133M| 13.988M|
| | 1.01x| -|
|symproc_0_splat_kw | 10.326M| 9.987M|
| | 1.03x| -|
|symproc_1_splat_kw | 10.304M| 10.065M|
| | 1.02x| -|
|symproc_10_splat_kw | 9.965M| 9.656M|
| | 1.03x| -|
|symproc_200_splat_kw | 3.021M| 2.966M|
| | 1.02x| -|
|symproc_0_splat_comb_kw | 8.442M| 8.202M|
| | 1.03x| -|
|symproc_1_splat_comb_kw | 8.093M| 8.001M|
| | 1.01x| -|
|symproc_10_splat_comb_kw | 8.029M| 7.903M|
| | 1.02x| -|
|symproc_200_splat_comb_kw | 2.389M| 2.404M|
| | -| 1.01x|
@ko1
Copy link

ko1 commented Apr 18, 2024

It compares miniruby and ruby (made by make ruby) so please COMPARE_RUBY on make benchmark or use command line without make.

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