Skip to content

Instantly share code, notes, and snippets.

@blambeau
Created August 26, 2011 07:58
Show Gist options
  • Select an option

  • Save blambeau/1172939 to your computer and use it in GitHub Desktop.

Select an option

Save blambeau/1172939 to your computer and use it in GitHub Desktop.

Revisions

  1. blambeau revised this gist Aug 26, 2011. 1 changed file with 69 additions and 66 deletions.
    135 changes: 69 additions & 66 deletions gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -20,70 +20,73 @@ def tidy; @tidy; end
    b.report(:sloppy) { n.times{ sloppy.sloppy } }
    end

    $ viiite run --runs=10 sloppy_and_tidy | viiite report --regroup=ruby,bench --hierarchy
    +-------------------+------------------------------------------------------------+
    | :ruby | :measure |
    +-------------------+------------------------------------------------------------+
    | jruby 1.6.3 | +---------+-----------+----------+-----------+-----------+ |
    | | | :bench | :user | :system | :total | :real | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | | | :sloppy | 19.844100 | 0.000000 | 19.844100 | 19.844100 | |
    | | | :tidy | 19.766700 | 0.000000 | 19.766700 | 19.766700 | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | rubinius 1.2.5dev | +---------+----------+----------+----------+----------+ |
    | | | :bench | :user | :system | :total | :real | |
    | | +---------+----------+----------+----------+----------+ |
    | | | :sloppy | 8.580536 | 0.006400 | 8.586937 | 8.592304 | |
    | | | :tidy | 8.992562 | 0.004400 | 8.996962 | 8.863138 | |
    | | +---------+----------+----------+----------+----------+ |
    | rubinius 2.0.0dev | +---------+-----------+----------+-----------+-----------+ |
    | | | :bench | :user | :system | :total | :real | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | | | :sloppy | 7.834090 | 0.005600 | 7.839690 | 7.846725 | |
    | | | :tidy | 15.222951 | 0.012001 | 15.234952 | 15.202893 | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | ruby 1.8.7p352 | +---------+-----------+----------+-----------+-----------+ |
    | | | :bench | :user | :system | :total | :real | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | | | :sloppy | 34.353000 | 0.015000 | 34.368000 | 34.395148 | |
    | | | :tidy | 32.321000 | 0.023000 | 32.344000 | 32.369553 | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | ruby 1.9.2p290 | +---------+-----------+----------+-----------+-----------+ |
    | | | :bench | :user | :system | :total | :real | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | | | :sloppy | 22.478000 | 0.009000 | 22.487000 | 22.483678 | |
    | | | :tidy | 15.936000 | 0.009000 | 15.945000 | 15.938642 | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | ruby 1.9.3dev | +---------+-----------+----------+-----------+-----------+ |
    | | | :bench | :user | :system | :total | :real | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | | | :sloppy | 18.030000 | 0.004000 | 18.034000 | 18.047614 | |
    | | | :tidy | 14.730000 | 0.003000 | 14.733000 | 14.745098 | |
    | | +---------+-----------+----------+-----------+-----------+ |
    +-------------------+------------------------------------------------------------+
    $ rvm exec viiite --append run --runs=10 sloppy_and_tidy
    ...

    $ viiite run --runs=10 sloppy_and_tidy | viiite report --regroup=bench,ruby --hierarchy
    +---------+----------------------------------------------------------------------+
    | :bench | :measure |
    +---------+----------------------------------------------------------------------+
    | :sloppy | +-------------------+-----------+----------+-----------+-----------+ |
    | | | :ruby | :user | :system | :total | :real | |
    | | +-------------------+-----------+----------+-----------+-----------+ |
    | | | jruby 1.6.3 | 19.844100 | 0.000000 | 19.844100 | 19.844100 | |
    | | | rubinius 1.2.5dev | 8.580536 | 0.006400 | 8.586937 | 8.592304 | |
    | | | rubinius 2.0.0dev | 7.834090 | 0.005600 | 7.839690 | 7.846725 | |
    | | | ruby 1.8.7p352 | 34.353000 | 0.015000 | 34.368000 | 34.395148 | |
    | | | ruby 1.9.2p290 | 22.478000 | 0.009000 | 22.487000 | 22.483678 | |
    | | | ruby 1.9.3dev | 18.030000 | 0.004000 | 18.034000 | 18.047614 | |
    | | +-------------------+-----------+----------+-----------+-----------+ |
    | :tidy | +-------------------+-----------+----------+-----------+-----------+ |
    | | | :ruby | :user | :system | :total | :real | |
    | | +-------------------+-----------+----------+-----------+-----------+ |
    | | | jruby 1.6.3 | 19.766700 | 0.000000 | 19.766700 | 19.766700 | |
    | | | rubinius 1.2.5dev | 8.992562 | 0.004400 | 8.996962 | 8.863138 | |
    | | | rubinius 2.0.0dev | 15.222951 | 0.012001 | 15.234952 | 15.202893 | |
    | | | ruby 1.8.7p352 | 32.321000 | 0.023000 | 32.344000 | 32.369553 | |
    | | | ruby 1.9.2p290 | 15.936000 | 0.009000 | 15.945000 | 15.938642 | |
    | | | ruby 1.9.3dev | 14.730000 | 0.003000 | 14.733000 | 14.745098 | |
    | | +-------------------+-----------+----------+-----------+-----------+ |
    +---------+----------------------------------------------------------------------+
    $ 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 | |
    | | +---------+------------+------------+------------+------------+------------+ |
    +-------------------+------------------------------------------------------------------------------+
  2. blambeau renamed this gist Aug 26, 2011. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions gistfile1.txt → gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,6 @@
    # A benchmark pioneered by @tenderlove
    # @see https://gist.github.com/1170106

    class Sloppy
    def sloppy; @sloppy; end
    end
  3. blambeau created this gist Aug 26, 2011.
    86 changes: 86 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,86 @@
    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

    $ viiite run --runs=10 sloppy_and_tidy | viiite report --regroup=ruby,bench --hierarchy
    +-------------------+------------------------------------------------------------+
    | :ruby | :measure |
    +-------------------+------------------------------------------------------------+
    | jruby 1.6.3 | +---------+-----------+----------+-----------+-----------+ |
    | | | :bench | :user | :system | :total | :real | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | | | :sloppy | 19.844100 | 0.000000 | 19.844100 | 19.844100 | |
    | | | :tidy | 19.766700 | 0.000000 | 19.766700 | 19.766700 | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | rubinius 1.2.5dev | +---------+----------+----------+----------+----------+ |
    | | | :bench | :user | :system | :total | :real | |
    | | +---------+----------+----------+----------+----------+ |
    | | | :sloppy | 8.580536 | 0.006400 | 8.586937 | 8.592304 | |
    | | | :tidy | 8.992562 | 0.004400 | 8.996962 | 8.863138 | |
    | | +---------+----------+----------+----------+----------+ |
    | rubinius 2.0.0dev | +---------+-----------+----------+-----------+-----------+ |
    | | | :bench | :user | :system | :total | :real | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | | | :sloppy | 7.834090 | 0.005600 | 7.839690 | 7.846725 | |
    | | | :tidy | 15.222951 | 0.012001 | 15.234952 | 15.202893 | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | ruby 1.8.7p352 | +---------+-----------+----------+-----------+-----------+ |
    | | | :bench | :user | :system | :total | :real | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | | | :sloppy | 34.353000 | 0.015000 | 34.368000 | 34.395148 | |
    | | | :tidy | 32.321000 | 0.023000 | 32.344000 | 32.369553 | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | ruby 1.9.2p290 | +---------+-----------+----------+-----------+-----------+ |
    | | | :bench | :user | :system | :total | :real | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | | | :sloppy | 22.478000 | 0.009000 | 22.487000 | 22.483678 | |
    | | | :tidy | 15.936000 | 0.009000 | 15.945000 | 15.938642 | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | ruby 1.9.3dev | +---------+-----------+----------+-----------+-----------+ |
    | | | :bench | :user | :system | :total | :real | |
    | | +---------+-----------+----------+-----------+-----------+ |
    | | | :sloppy | 18.030000 | 0.004000 | 18.034000 | 18.047614 | |
    | | | :tidy | 14.730000 | 0.003000 | 14.733000 | 14.745098 | |
    | | +---------+-----------+----------+-----------+-----------+ |
    +-------------------+------------------------------------------------------------+

    $ viiite run --runs=10 sloppy_and_tidy | viiite report --regroup=bench,ruby --hierarchy
    +---------+----------------------------------------------------------------------+
    | :bench | :measure |
    +---------+----------------------------------------------------------------------+
    | :sloppy | +-------------------+-----------+----------+-----------+-----------+ |
    | | | :ruby | :user | :system | :total | :real | |
    | | +-------------------+-----------+----------+-----------+-----------+ |
    | | | jruby 1.6.3 | 19.844100 | 0.000000 | 19.844100 | 19.844100 | |
    | | | rubinius 1.2.5dev | 8.580536 | 0.006400 | 8.586937 | 8.592304 | |
    | | | rubinius 2.0.0dev | 7.834090 | 0.005600 | 7.839690 | 7.846725 | |
    | | | ruby 1.8.7p352 | 34.353000 | 0.015000 | 34.368000 | 34.395148 | |
    | | | ruby 1.9.2p290 | 22.478000 | 0.009000 | 22.487000 | 22.483678 | |
    | | | ruby 1.9.3dev | 18.030000 | 0.004000 | 18.034000 | 18.047614 | |
    | | +-------------------+-----------+----------+-----------+-----------+ |
    | :tidy | +-------------------+-----------+----------+-----------+-----------+ |
    | | | :ruby | :user | :system | :total | :real | |
    | | +-------------------+-----------+----------+-----------+-----------+ |
    | | | jruby 1.6.3 | 19.766700 | 0.000000 | 19.766700 | 19.766700 | |
    | | | rubinius 1.2.5dev | 8.992562 | 0.004400 | 8.996962 | 8.863138 | |
    | | | rubinius 2.0.0dev | 15.222951 | 0.012001 | 15.234952 | 15.202893 | |
    | | | ruby 1.8.7p352 | 32.321000 | 0.023000 | 32.344000 | 32.369553 | |
    | | | ruby 1.9.2p290 | 15.936000 | 0.009000 | 15.945000 | 15.938642 | |
    | | | ruby 1.9.3dev | 14.730000 | 0.003000 | 14.733000 | 14.745098 | |
    | | +-------------------+-----------+----------+-----------+-----------+ |
    +---------+----------------------------------------------------------------------+