Skip to content

Instantly share code, notes, and snippets.

@eregon
Forked from blambeau/gist:1172939
Created August 26, 2011 09:02
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 eregon/1173015 to your computer and use it in GitHub Desktop.
Save eregon/1173015 to your computer and use it in GitHub Desktop.
Sloppy and tidy in Viiite
> viiite report --regroup=bench,ruby --hierarchy
+---------+-------------------------------------------------------------------+
| :bench | :measure |
+---------+-------------------------------------------------------------------+
| :sloppy | +-------------------+----------+----------+----------+----------+ |
| | | :ruby | :user | :system | :total | :real | |
| | +-------------------+----------+----------+----------+----------+ |
| | | jruby 1.6.3 | 1.570500 | 0.000000 | 1.570500 | 1.570500 | |
| | | jruby 1.7.0.dev | 1.623200 | 0.000000 | 1.623200 | 1.623200 | |
| | | ree 2011.03 | 2.155000 | 0.000000 | 2.155000 | 2.157875 | |
| | | rubinius 1.2.5dev | 0.512032 | 0.000000 | 0.512032 | 0.505219 | |
| | | rubinius 2.0.0dev | 0.558435 | 0.000000 | 0.558435 | 0.555081 | |
| | | ruby 1.8.7p352 | 2.259000 | 0.000000 | 2.259000 | 2.259791 | |
| | | ruby 1.9.2p290 | 1.149000 | 0.000000 | 1.149000 | 1.149037 | |
| | | ruby 1.9.3dev | 1.220000 | 0.000000 | 1.220000 | 1.221015 | |
| | | ruby 1.9.4dev | 1.176000 | 0.000000 | 1.176000 | 1.177905 | |
| | +-------------------+----------+----------+----------+----------+ |
| :tidy | +-------------------+----------+----------+----------+----------+ |
| | | :ruby | :user | :system | :total | :real | |
| | +-------------------+----------+----------+----------+----------+ |
| | | jruby 1.6.3 | 1.563700 | 0.000000 | 1.563700 | 1.563700 | |
| | | jruby 1.7.0.dev | 1.561100 | 0.000000 | 1.561100 | 1.561100 | |
| | | ree 2011.03 | 2.152000 | 0.000000 | 2.152000 | 2.151061 | |
| | | rubinius 1.2.5dev | 0.558835 | 0.000800 | 0.559635 | 0.492885 | |
| | | rubinius 2.0.0dev | 0.598437 | 0.000400 | 0.598837 | 0.567233 | |
| | | ruby 1.8.7p352 | 2.099000 | 0.000000 | 2.099000 | 2.099413 | |
| | | ruby 1.9.2p290 | 0.908000 | 0.001000 | 0.909000 | 0.907987 | |
| | | ruby 1.9.3dev | 0.962000 | 0.000000 | 0.962000 | 0.964897 | |
| | | ruby 1.9.4dev | 0.959000 | 0.000000 | 0.959000 | 0.956621 | |
| | +-------------------+----------+----------+----------+----------+ |
+---------+-------------------------------------------------------------------+
> viiite report --regroup=ruby,bench --hierarchy
+-------------------+---------------------------------------------------------+
| :ruby | :measure |
+-------------------+---------------------------------------------------------+
| jruby 1.6.3 | +---------+----------+----------+----------+----------+ |
| | | :bench | :user | :system | :total | :real | |
| | +---------+----------+----------+----------+----------+ |
| | | :sloppy | 1.570500 | 0.000000 | 1.570500 | 1.570500 | |
| | | :tidy | 1.563700 | 0.000000 | 1.563700 | 1.563700 | |
| | +---------+----------+----------+----------+----------+ |
| jruby 1.7.0.dev | +---------+----------+----------+----------+----------+ |
| | | :bench | :user | :system | :total | :real | |
| | +---------+----------+----------+----------+----------+ |
| | | :sloppy | 1.623200 | 0.000000 | 1.623200 | 1.623200 | |
| | | :tidy | 1.561100 | 0.000000 | 1.561100 | 1.561100 | |
| | +---------+----------+----------+----------+----------+ |
| ree 2011.03 | +---------+----------+----------+----------+----------+ |
| | | :bench | :user | :system | :total | :real | |
| | +---------+----------+----------+----------+----------+ |
| | | :sloppy | 2.155000 | 0.000000 | 2.155000 | 2.157875 | |
| | | :tidy | 2.152000 | 0.000000 | 2.152000 | 2.151061 | |
| | +---------+----------+----------+----------+----------+ |
| rubinius 1.2.5dev | +---------+----------+----------+----------+----------+ |
| | | :bench | :user | :system | :total | :real | |
| | +---------+----------+----------+----------+----------+ |
| | | :sloppy | 0.512032 | 0.000000 | 0.512032 | 0.505219 | |
| | | :tidy | 0.558835 | 0.000800 | 0.559635 | 0.492885 | |
| | +---------+----------+----------+----------+----------+ |
| rubinius 2.0.0dev | +---------+----------+----------+----------+----------+ |
| | | :bench | :user | :system | :total | :real | |
| | +---------+----------+----------+----------+----------+ |
| | | :sloppy | 0.558435 | 0.000000 | 0.558435 | 0.555081 | |
| | | :tidy | 0.598437 | 0.000400 | 0.598837 | 0.567233 | |
| | +---------+----------+----------+----------+----------+ |
| ruby 1.8.7p352 | +---------+----------+----------+----------+----------+ |
| | | :bench | :user | :system | :total | :real | |
| | +---------+----------+----------+----------+----------+ |
| | | :sloppy | 2.259000 | 0.000000 | 2.259000 | 2.259791 | |
| | | :tidy | 2.099000 | 0.000000 | 2.099000 | 2.099413 | |
| | +---------+----------+----------+----------+----------+ |
| ruby 1.9.2p290 | +---------+----------+----------+----------+----------+ |
| | | :bench | :user | :system | :total | :real | |
| | +---------+----------+----------+----------+----------+ |
| | | :sloppy | 1.149000 | 0.000000 | 1.149000 | 1.149037 | |
| | | :tidy | 0.908000 | 0.001000 | 0.909000 | 0.907987 | |
| | +---------+----------+----------+----------+----------+ |
| ruby 1.9.3dev | +---------+----------+----------+----------+----------+ |
| | | :bench | :user | :system | :total | :real | |
| | +---------+----------+----------+----------+----------+ |
| | | :sloppy | 1.220000 | 0.000000 | 1.220000 | 1.221015 | |
| | | :tidy | 0.962000 | 0.000000 | 0.962000 | 0.964897 | |
| | +---------+----------+----------+----------+----------+ |
| ruby 1.9.4dev | +---------+----------+----------+----------+----------+ |
| | | :bench | :user | :system | :total | :real | |
| | +---------+----------+----------+----------+----------+ |
| | | :sloppy | 1.176000 | 0.000000 | 1.176000 | 1.177905 | |
| | | :tidy | 0.959000 | 0.000000 | 0.959000 | 0.956621 | |
| | +---------+----------+----------+----------+----------+ |
+-------------------+---------------------------------------------------------+
# A benchmark pioneered by @tenderlove
# @see https://gist.github.com/1170106
class Sloppy
def sloppy; @sloppy; end
end
class Tidy
def initialize; @tidy = nil; end
def tidy; @tidy; end
end
require 'viiite'
n = 100_000_000
Viiite.bm do |b|
tidy = Tidy.new
sloppy = Sloppy.new
b.variation_point :ruby, Viiite.which_ruby
b.report(:tidy) { n.times{ tidy.tidy } }
b.report(:sloppy) { n.times{ sloppy.sloppy } }
end
$ rvm exec viiite --append run --runs=10 sloppy_and_tidy
...
$ viiite report --regroup=bench,ruby --hierarchy --stddev --ff="%10.6f"
+---------+----------------------------------------------------------------------------------------+
| :bench | :measure |
+---------+----------------------------------------------------------------------------------------+
| :sloppy | +-------------------+------------+------------+------------+------------+------------+ |
| | | :ruby | :user | :system | :total | :real | :stddev | |
| | +-------------------+------------+------------+------------+------------+------------+ |
| | | jruby 1.6.3 | 19.844100 | 0.000000 | 19.844100 | 19.844100 | 0.210988 | |
| | | rubinius 1.2.5dev | 8.580536 | 0.006400 | 8.586937 | 8.592304 | 0.206369 | |
| | | rubinius 2.0.0dev | 7.834090 | 0.005600 | 7.839690 | 7.846725 | 0.034818 | |
| | | ruby 1.8.7p352 | 34.353000 | 0.015000 | 34.368000 | 34.395148 | 0.062097 | |
| | | ruby 1.9.2p290 | 22.478000 | 0.009000 | 22.487000 | 22.483678 | 0.089672 | |
| | | ruby 1.9.3dev | 18.030000 | 0.004000 | 18.034000 | 18.047614 | 0.118169 | |
| | +-------------------+------------+------------+------------+------------+------------+ |
| :tidy | +-------------------+------------+------------+------------+------------+------------+ |
| | | :ruby | :user | :system | :total | :real | :stddev | |
| | +-------------------+------------+------------+------------+------------+------------+ |
| | | jruby 1.6.3 | 19.766700 | 0.000000 | 19.766700 | 19.766700 | 0.501114 | |
| | | rubinius 1.2.5dev | 8.992562 | 0.004400 | 8.996962 | 8.863138 | 1.244846 | |
| | | rubinius 2.0.0dev | 15.222951 | 0.012001 | 15.234952 | 15.202893 | 0.740747 | |
| | | ruby 1.8.7p352 | 32.321000 | 0.023000 | 32.344000 | 32.369553 | 0.222809 | |
| | | ruby 1.9.2p290 | 15.936000 | 0.009000 | 15.945000 | 15.938642 | 0.164393 | |
| | | ruby 1.9.3dev | 14.730000 | 0.003000 | 14.733000 | 14.745098 | 0.085094 | |
| | +-------------------+------------+------------+------------+------------+------------+ |
+---------+----------------------------------------------------------------------------------------+
$ viiite report --regroup=ruby,bench --hierarchy --stddev --ff="%10.6f"
+-------------------+------------------------------------------------------------------------------+
| :ruby | :measure |
+-------------------+------------------------------------------------------------------------------+
| jruby 1.6.3 | +---------+------------+------------+------------+------------+------------+ |
| | | :bench | :user | :system | :total | :real | :stddev | |
| | +---------+------------+------------+------------+------------+------------+ |
| | | :sloppy | 19.844100 | 0.000000 | 19.844100 | 19.844100 | 0.210988 | |
| | | :tidy | 19.766700 | 0.000000 | 19.766700 | 19.766700 | 0.501114 | |
| | +---------+------------+------------+------------+------------+------------+ |
| rubinius 1.2.5dev | +---------+------------+------------+------------+------------+------------+ |
| | | :bench | :user | :system | :total | :real | :stddev | |
| | +---------+------------+------------+------------+------------+------------+ |
| | | :sloppy | 8.580536 | 0.006400 | 8.586937 | 8.592304 | 0.206369 | |
| | | :tidy | 8.992562 | 0.004400 | 8.996962 | 8.863138 | 1.244846 | |
| | +---------+------------+------------+------------+------------+------------+ |
| rubinius 2.0.0dev | +---------+------------+------------+------------+------------+------------+ |
| | | :bench | :user | :system | :total | :real | :stddev | |
| | +---------+------------+------------+------------+------------+------------+ |
| | | :sloppy | 7.834090 | 0.005600 | 7.839690 | 7.846725 | 0.034818 | |
| | | :tidy | 15.222951 | 0.012001 | 15.234952 | 15.202893 | 0.740747 | |
| | +---------+------------+------------+------------+------------+------------+ |
| ruby 1.8.7p352 | +---------+------------+------------+------------+------------+------------+ |
| | | :bench | :user | :system | :total | :real | :stddev | |
| | +---------+------------+------------+------------+------------+------------+ |
| | | :sloppy | 34.353000 | 0.015000 | 34.368000 | 34.395148 | 0.062097 | |
| | | :tidy | 32.321000 | 0.023000 | 32.344000 | 32.369553 | 0.222809 | |
| | +---------+------------+------------+------------+------------+------------+ |
| ruby 1.9.2p290 | +---------+------------+------------+------------+------------+------------+ |
| | | :bench | :user | :system | :total | :real | :stddev | |
| | +---------+------------+------------+------------+------------+------------+ |
| | | :sloppy | 22.478000 | 0.009000 | 22.487000 | 22.483678 | 0.089672 | |
| | | :tidy | 15.936000 | 0.009000 | 15.945000 | 15.938642 | 0.164393 | |
| | +---------+------------+------------+------------+------------+------------+ |
| ruby 1.9.3dev | +---------+------------+------------+------------+------------+------------+ |
| | | :bench | :user | :system | :total | :real | :stddev | |
| | +---------+------------+------------+------------+------------+------------+ |
| | | :sloppy | 18.030000 | 0.004000 | 18.034000 | 18.047614 | 0.118169 | |
| | | :tidy | 14.730000 | 0.003000 | 14.733000 | 14.745098 | 0.085094 | |
| | +---------+------------+------------+------------+------------+------------+ |
+-------------------+------------------------------------------------------------------------------+
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment