Skip to content

Instantly share code, notes, and snippets.

@drbrain
Last active May 17, 2019 01:03
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save drbrain/1afbb262553b7dbc4ef07344b945b87b to your computer and use it in GitHub Desktop.
Save drbrain/1afbb262553b7dbc4ef07344b945b87b to your computer and use it in GitHub Desktop.
benchmark/ips can mislead you
797590.368401262
756782.4975519568
786626.036721161
779863.20785659
802884.3800618451
844765.1297123781
823529.985898917
800131.868818555
828427.1718920654
726309.5375825324
802178.8816810334
764951.7874397056
829192.090385311
833425.5039520499
633984.8413246035
788464.2324813703
801143.6338475377
786345.77022018
743038.4166794257
801764.9915618546
require 'benchmark/ips'
report = Benchmark.ips do |bm|
bm.report 'range' do
caller 1..1
end
bm.report 'args' do
caller 1, 1
end
end
report.entries.each do |entry|
File.write entry.label, "#{entry.ips}\n", mode: "a"
end
Warming up --------------------------------------
range 60.821k i/100ms
args 63.056k i/100ms
Calculating -------------------------------------
range 774.236k (± 7.5%) i/s - 3.893M in 5.057747s
args 797.590k (± 6.0%) i/s - 3.973M in 5.000220s
Warming up --------------------------------------
range 64.468k i/100ms
args 65.528k i/100ms
Calculating -------------------------------------
range 766.139k (±10.0%) i/s - 3.804M in 5.021053s
args 756.782k (± 8.7%) i/s - 3.801M in 5.062866s
Warming up --------------------------------------
range 64.505k i/100ms
args 61.473k i/100ms
Calculating -------------------------------------
range 763.099k (± 8.8%) i/s - 3.806M in 5.029958s
args 786.626k (± 7.3%) i/s - 3.934M in 5.030691s
Warming up --------------------------------------
range 59.370k i/100ms
args 63.363k i/100ms
Calculating -------------------------------------
range 808.605k (± 7.1%) i/s - 4.037M in 5.020457s
args 779.863k (±10.0%) i/s - 3.929M in 5.093593s
Warming up --------------------------------------
range 56.207k i/100ms
args 64.796k i/100ms
Calculating -------------------------------------
range 755.765k (±10.2%) i/s - 3.766M in 5.042749s
args 802.884k (± 5.9%) i/s - 4.017M in 5.021805s
Warming up --------------------------------------
range 65.605k i/100ms
args 63.569k i/100ms
Calculating -------------------------------------
range 831.918k (± 7.8%) i/s - 4.133M in 5.002913s
args 844.765k (± 6.4%) i/s - 4.259M in 5.064020s
Warming up --------------------------------------
range 64.382k i/100ms
args 69.715k i/100ms
Calculating -------------------------------------
range 824.455k (± 7.0%) i/s - 4.120M in 5.024585s
args 823.530k (± 6.7%) i/s - 4.113M in 5.018566s
Warming up --------------------------------------
range 59.601k i/100ms
args 66.362k i/100ms
Calculating -------------------------------------
range 780.887k (± 8.2%) i/s - 3.934M in 5.073071s
args 800.132k (± 7.9%) i/s - 3.982M in 5.010087s
Warming up --------------------------------------
range 61.361k i/100ms
args 64.609k i/100ms
Calculating -------------------------------------
range 788.390k (± 9.9%) i/s - 3.927M in 5.042684s
args 828.427k (± 6.2%) i/s - 4.135M in 5.011629s
Warming up --------------------------------------
range 67.938k i/100ms
args 69.367k i/100ms
Calculating -------------------------------------
range 792.186k (±13.3%) i/s - 3.940M in 5.089843s
args 726.310k (±13.5%) i/s - 3.607M in 5.076513s
Warming up --------------------------------------
range 61.890k i/100ms
args 63.828k i/100ms
Calculating -------------------------------------
range 784.351k (± 8.8%) i/s - 3.899M in 5.014358s
args 802.179k (± 6.7%) i/s - 4.021M in 5.036326s
Warming up --------------------------------------
range 58.416k i/100ms
args 64.096k i/100ms
Calculating -------------------------------------
range 765.620k (± 9.1%) i/s - 3.797M in 5.004702s
args 764.952k (±10.8%) i/s - 3.782M in 5.012224s
Warming up --------------------------------------
range 62.553k i/100ms
args 59.579k i/100ms
Calculating -------------------------------------
range 731.230k (±12.7%) i/s - 3.628M in 5.049128s
args 829.192k (± 6.1%) i/s - 4.171M in 5.049933s
Warming up --------------------------------------
range 63.532k i/100ms
args 63.762k i/100ms
Calculating -------------------------------------
range 816.244k (± 6.3%) i/s - 4.130M in 5.080552s
args 833.426k (± 5.4%) i/s - 4.208M in 5.064951s
Warming up --------------------------------------
range 65.651k i/100ms
args 16.725k i/100ms
Calculating -------------------------------------
range 533.850k (±44.2%) i/s - 1.576M in 5.052048s
args 633.985k (±19.4%) i/s - 3.044M in 5.010932s
Warming up --------------------------------------
range 60.293k i/100ms
args 61.685k i/100ms
Calculating -------------------------------------
range 795.034k (± 9.4%) i/s - 3.979M in 5.054785s
args 788.464k (± 5.9%) i/s - 3.948M in 5.025140s
Warming up --------------------------------------
range 62.361k i/100ms
args 64.620k i/100ms
Calculating -------------------------------------
range 781.289k (± 7.5%) i/s - 3.929M in 5.061710s
args 801.144k (± 5.7%) i/s - 4.006M in 5.019073s
Warming up --------------------------------------
range 65.970k i/100ms
args 65.244k i/100ms
Calculating -------------------------------------
range 787.817k (± 4.6%) i/s - 3.958M in 5.035076s
args 786.346k (± 4.8%) i/s - 3.980M in 5.073649s
Warming up --------------------------------------
range 61.274k i/100ms
args 61.535k i/100ms
Calculating -------------------------------------
range 736.085k (± 7.9%) i/s - 3.676M in 5.027964s
args 743.038k (± 8.1%) i/s - 3.692M in 5.003851s
Warming up --------------------------------------
range 63.275k i/100ms
args 64.855k i/100ms
Calculating -------------------------------------
range 779.462k (± 8.9%) i/s - 3.923M in 5.079418s
args 801.765k (± 7.5%) i/s - 4.021M in 5.044786s
x args
+ range
+------------------------------------------------------------------------------+
| + x x |
| + + * x x |
|+ x x++ x * *+ +*+*+*xx+ + *x* x|
| |_______|______A__M_A__M_______| |
+------------------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 20 633984.84 844765.13 800131.87 786570.02 47009.004
+ 20 533849.93 831917.96 781289.18 769833.12 61329.99
No difference proven at 95.0% confidence
774236.4247389726
766139.0816425196
763098.8642806477
808605.3274089156
755764.6888617391
831917.9559100008
824454.6189731268
780886.5438610156
788390.0253597262
792186.2006807997
784350.6044432677
765619.6495334018
731230.0401929629
816244.0739764732
533849.9329483245
795034.3771568688
781289.1767939373
787817.4854833572
736085.2950938472
779462.1005841586
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment