Skip to content

Instantly share code, notes, and snippets.

@brynary
Created September 18, 2010 22:33
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 brynary/586116 to your computer and use it in GitHub Desktop.
Save brynary/586116 to your computer and use it in GitHub Desktop.
$ rake run
(in /Users/bhelmkamp/p/active/minitest_bench)
[1/1] Isolating bacon (> 0).
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
mkdir -p test
X=1 time ruby -rubygems test/minitestunit_positive_10.rb &> test/minitestunit_positive_10.rb.out; true
X=1 time ruby -rubygems test/minitestunit_positive_10.rb &> test/minitestunit_positive_10.rb.out; true
X=1 time ruby -rubygems test/minitestspec_positive_10.rb &> test/minitestspec_positive_10.rb.out; true
X=1 time ruby -rubygems test/minitestspec_positive_10.rb &> test/minitestspec_positive_10.rb.out; true
X=1 time bacon test/bacon_positive_10.rb &> test/bacon_positive_10.rb.out; true
X=1 time cucumber --no-color -f progress --require test/cucumber.rb test/cucumber_positive_10.feature &> test/cucumber_positive_10.feature.out; true
X=1 time spec test/rspec_positive_10.rb &> test/rspec_positive_10.rb.out; true
X=1 time rspec test/rspec2_positive_10.rb &> test/rspec2_positive_10.rb.out; true
X=1 time ruby -rubygems test/shoulda_positive_10.rb &> test/shoulda_positive_10.rb.out; true
X=1 time ruby test/testunit1_positive_10.rb &> test/testunit1_positive_10.rb.out; true
X=1 time ruby -rubygems test/testunit2_positive_10.rb &> test/testunit2_positive_10.rb.out; true
X=1 time ruby -rubygems test/minitestunit_negative_10.rb &> test/minitestunit_negative_10.rb.out; true
X=1 time ruby -rubygems test/minitestunit_negative_10.rb &> test/minitestunit_negative_10.rb.out; true
X=1 time ruby -rubygems test/minitestspec_negative_10.rb &> test/minitestspec_negative_10.rb.out; true
X=1 time ruby -rubygems test/minitestspec_negative_10.rb &> test/minitestspec_negative_10.rb.out; true
X=1 time bacon test/bacon_negative_10.rb &> test/bacon_negative_10.rb.out; true
X=1 time cucumber --no-color -f progress --require test/cucumber.rb test/cucumber_negative_10.feature &> test/cucumber_negative_10.feature.out; true
X=1 time spec test/rspec_negative_10.rb &> test/rspec_negative_10.rb.out; true
X=1 time rspec test/rspec2_negative_10.rb &> test/rspec2_negative_10.rb.out; true
X=1 time ruby -rubygems test/shoulda_negative_10.rb &> test/shoulda_negative_10.rb.out; true
X=1 time ruby test/testunit1_negative_10.rb &> test/testunit1_negative_10.rb.out; true
X=1 time ruby -rubygems test/testunit2_negative_10.rb &> test/testunit2_negative_10.rb.out; true
X=1 time ruby -rubygems test/minitestunit_positive_100.rb &> test/minitestunit_positive_100.rb.out; true
X=1 time ruby -rubygems test/minitestunit_positive_100.rb &> test/minitestunit_positive_100.rb.out; true
X=1 time ruby -rubygems test/minitestspec_positive_100.rb &> test/minitestspec_positive_100.rb.out; true
X=1 time ruby -rubygems test/minitestspec_positive_100.rb &> test/minitestspec_positive_100.rb.out; true
X=1 time bacon test/bacon_positive_100.rb &> test/bacon_positive_100.rb.out; true
X=1 time cucumber --no-color -f progress --require test/cucumber.rb test/cucumber_positive_100.feature &> test/cucumber_positive_100.feature.out; true
X=1 time spec test/rspec_positive_100.rb &> test/rspec_positive_100.rb.out; true
X=1 time rspec test/rspec2_positive_100.rb &> test/rspec2_positive_100.rb.out; true
X=1 time ruby -rubygems test/shoulda_positive_100.rb &> test/shoulda_positive_100.rb.out; true
X=1 time ruby test/testunit1_positive_100.rb &> test/testunit1_positive_100.rb.out; true
X=1 time ruby -rubygems test/testunit2_positive_100.rb &> test/testunit2_positive_100.rb.out; true
X=1 time ruby -rubygems test/minitestunit_negative_100.rb &> test/minitestunit_negative_100.rb.out; true
X=1 time ruby -rubygems test/minitestunit_negative_100.rb &> test/minitestunit_negative_100.rb.out; true
X=1 time ruby -rubygems test/minitestspec_negative_100.rb &> test/minitestspec_negative_100.rb.out; true
X=1 time ruby -rubygems test/minitestspec_negative_100.rb &> test/minitestspec_negative_100.rb.out; true
X=1 time bacon test/bacon_negative_100.rb &> test/bacon_negative_100.rb.out; true
X=1 time cucumber --no-color -f progress --require test/cucumber.rb test/cucumber_negative_100.feature &> test/cucumber_negative_100.feature.out; true
X=1 time spec test/rspec_negative_100.rb &> test/rspec_negative_100.rb.out; true
X=1 time rspec test/rspec2_negative_100.rb &> test/rspec2_negative_100.rb.out; true
X=1 time ruby -rubygems test/shoulda_negative_100.rb &> test/shoulda_negative_100.rb.out; true
X=1 time ruby test/testunit1_negative_100.rb &> test/testunit1_negative_100.rb.out; true
X=1 time ruby -rubygems test/testunit2_negative_100.rb &> test/testunit2_negative_100.rb.out; true
X=1 time ruby -rubygems test/minitestunit_positive_1000.rb &> test/minitestunit_positive_1000.rb.out; true
X=1 time ruby -rubygems test/minitestunit_positive_1000.rb &> test/minitestunit_positive_1000.rb.out; true
X=1 time ruby -rubygems test/minitestspec_positive_1000.rb &> test/minitestspec_positive_1000.rb.out; true
X=1 time ruby -rubygems test/minitestspec_positive_1000.rb &> test/minitestspec_positive_1000.rb.out; true
X=1 time bacon test/bacon_positive_1000.rb &> test/bacon_positive_1000.rb.out; true
X=1 time cucumber --no-color -f progress --require test/cucumber.rb test/cucumber_positive_1000.feature &> test/cucumber_positive_1000.feature.out; true
X=1 time spec test/rspec_positive_1000.rb &> test/rspec_positive_1000.rb.out; true
X=1 time rspec test/rspec2_positive_1000.rb &> test/rspec2_positive_1000.rb.out; true
X=1 time ruby -rubygems test/shoulda_positive_1000.rb &> test/shoulda_positive_1000.rb.out; true
X=1 time ruby test/testunit1_positive_1000.rb &> test/testunit1_positive_1000.rb.out; true
X=1 time ruby -rubygems test/testunit2_positive_1000.rb &> test/testunit2_positive_1000.rb.out; true
X=1 time ruby -rubygems test/minitestunit_negative_1000.rb &> test/minitestunit_negative_1000.rb.out; true
X=1 time ruby -rubygems test/minitestunit_negative_1000.rb &> test/minitestunit_negative_1000.rb.out; true
X=1 time ruby -rubygems test/minitestspec_negative_1000.rb &> test/minitestspec_negative_1000.rb.out; true
X=1 time ruby -rubygems test/minitestspec_negative_1000.rb &> test/minitestspec_negative_1000.rb.out; true
X=1 time bacon test/bacon_negative_1000.rb &> test/bacon_negative_1000.rb.out; true
X=1 time cucumber --no-color -f progress --require test/cucumber.rb test/cucumber_negative_1000.feature &> test/cucumber_negative_1000.feature.out; true
X=1 time spec test/rspec_negative_1000.rb &> test/rspec_negative_1000.rb.out; true
X=1 time rspec test/rspec2_negative_1000.rb &> test/rspec2_negative_1000.rb.out; true
X=1 time ruby -rubygems test/shoulda_negative_1000.rb &> test/shoulda_negative_1000.rb.out; true
X=1 time ruby test/testunit1_negative_1000.rb &> test/testunit1_negative_1000.rb.out; true
X=1 time ruby -rubygems test/testunit2_negative_1000.rb &> test/testunit2_negative_1000.rb.out; true
X=1 time ruby -rubygems test/minitestunit_positive_10000.rb &> test/minitestunit_positive_10000.rb.out; true
X=1 time ruby -rubygems test/minitestunit_positive_10000.rb &> test/minitestunit_positive_10000.rb.out; true
X=1 time ruby -rubygems test/minitestspec_positive_10000.rb &> test/minitestspec_positive_10000.rb.out; true
X=1 time ruby -rubygems test/minitestspec_positive_10000.rb &> test/minitestspec_positive_10000.rb.out; true
X=1 time bacon test/bacon_positive_10000.rb &> test/bacon_positive_10000.rb.out; true
X=1 time cucumber --no-color -f progress --require test/cucumber.rb test/cucumber_positive_10000.feature &> test/cucumber_positive_10000.feature.out; true
X=1 time spec test/rspec_positive_10000.rb &> test/rspec_positive_10000.rb.out; true
X=1 time rspec test/rspec2_positive_10000.rb &> test/rspec2_positive_10000.rb.out; true
X=1 time ruby -rubygems test/shoulda_positive_10000.rb &> test/shoulda_positive_10000.rb.out; true
X=1 time ruby test/testunit1_positive_10000.rb &> test/testunit1_positive_10000.rb.out; true
X=1 time ruby -rubygems test/testunit2_positive_10000.rb &> test/testunit2_positive_10000.rb.out; true
X=1 time ruby -rubygems test/minitestunit_negative_10000.rb &> test/minitestunit_negative_10000.rb.out; true
X=1 time ruby -rubygems test/minitestunit_negative_10000.rb &> test/minitestunit_negative_10000.rb.out; true
X=1 time ruby -rubygems test/minitestspec_negative_10000.rb &> test/minitestspec_negative_10000.rb.out; true
X=1 time ruby -rubygems test/minitestspec_negative_10000.rb &> test/minitestspec_negative_10000.rb.out; true
X=1 time bacon test/bacon_negative_10000.rb &> test/bacon_negative_10000.rb.out; true
X=1 time cucumber --no-color -f progress --require test/cucumber.rb test/cucumber_negative_10000.feature &> test/cucumber_negative_10000.feature.out; true
X=1 time spec test/rspec_negative_10000.rb &> test/rspec_negative_10000.rb.out; true
X=1 time rspec test/rspec2_negative_10000.rb &> test/rspec2_negative_10000.rb.out; true
X=1 time ruby -rubygems test/shoulda_negative_10000.rb &> test/shoulda_negative_10000.rb.out; true
X=1 time ruby test/testunit1_negative_10000.rb &> test/testunit1_negative_10000.rb.out; true
X=1 time ruby -rubygems test/testunit2_negative_10000.rb &> test/testunit2_negative_10000.rb.out; true
{:type=>"negative"}
bacon 0.19
cucumber 0.3
minitestspec 0.22
minitestunit 0.21
rspec 0.18
rspec2 0.28
shoulda 0.25
testunit1 0.06
testunit2 0.21
{:type=>"positive"}
bacon 0.2
cucumber 0.33
minitestspec 0.28
minitestunit 0.23
rspec 0.21
rspec2 0.29
shoulda 0.22
testunit1 0.06
testunit2 0.22
Size = 10:
framework: pos (multiple) neg (multiple) ( avg)
---------------------------------------------------------------
testunit1: 0.06 ( 1.00 x) 0.06 ( 1.00 x) ( 1.00 x)
rspec: 0.21 ( 3.50 x) 0.18 ( 3.00 x) ( 3.25 x)
bacon: 0.20 ( 3.33 x) 0.19 ( 3.17 x) ( 3.25 x)
testunit2: 0.22 ( 3.67 x) 0.21 ( 3.50 x) ( 3.58 x)
minitestunit: 0.23 ( 3.83 x) 0.21 ( 3.50 x) ( 3.67 x)
shoulda: 0.22 ( 3.67 x) 0.25 ( 4.17 x) ( 3.92 x)
minitestspec: 0.28 ( 4.67 x) 0.22 ( 3.67 x) ( 4.17 x)
rspec2: 0.29 ( 4.83 x) 0.28 ( 4.67 x) ( 4.75 x)
cucumber: 0.33 ( 5.50 x) 0.30 ( 5.00 x) ( 5.25 x)
{:type=>"negative"}
bacon 0.19 0.19
cucumber 0.3 0.42
minitestspec 0.22 0.21
minitestunit 0.21 0.21
rspec 0.18 0.18
rspec2 0.28 0.37
shoulda 0.25 0.29
testunit1 0.06 0.11
testunit2 0.21 0.31
{:type=>"positive"}
bacon 0.2 0.18
cucumber 0.33 0.39
minitestspec 0.28 0.21
minitestunit 0.23 0.2
rspec 0.21 0.18
rspec2 0.29 0.3
shoulda 0.22 0.23
testunit1 0.06 0.06
testunit2 0.22 0.22
Size = 10:
framework: pos (multiple) neg (multiple) ( avg)
---------------------------------------------------------------
testunit1: 0.06 ( 1.00 x) 0.11 ( 1.00 x) ( 1.00 x)
rspec: 0.18 ( 3.00 x) 0.18 ( 1.64 x) ( 2.32 x)
bacon: 0.18 ( 3.00 x) 0.19 ( 1.73 x) ( 2.36 x)
minitestunit: 0.20 ( 3.33 x) 0.21 ( 1.91 x) ( 2.62 x)
minitestspec: 0.21 ( 3.50 x) 0.21 ( 1.91 x) ( 2.70 x)
shoulda: 0.23 ( 3.83 x) 0.29 ( 2.64 x) ( 3.23 x)
testunit2: 0.22 ( 3.67 x) 0.31 ( 2.82 x) ( 3.24 x)
rspec2: 0.30 ( 5.00 x) 0.37 ( 3.36 x) ( 4.18 x)
cucumber: 0.39 ( 6.50 x) 0.42 ( 3.82 x) ( 5.16 x)
{:type=>"negative"}
bacon 0.19 0.19 0.32
cucumber 0.3 0.42 1.92
minitestspec 0.22 0.21 0.32
minitestunit 0.21 0.21 0.29
rspec 0.18 0.18 0.18
rspec2 0.28 0.37 1.76
shoulda 0.25 0.29 1.27
testunit1 0.06 0.11 0.57
testunit2 0.21 0.31 1.45
{:type=>"positive"}
bacon 0.2 0.18 0.22
cucumber 0.33 0.39 1.57
minitestspec 0.28 0.21 0.27
minitestunit 0.23 0.2 0.25
rspec 0.21 0.18 0.18
rspec2 0.29 0.3 0.53
shoulda 0.22 0.23 0.67
testunit1 0.06 0.06 0.1
testunit2 0.22 0.22 0.5
Size = 10:
framework: pos (multiple) neg (multiple) ( avg)
---------------------------------------------------------------
rspec: 0.18 ( 1.80 x) 0.18 ( 1.00 x) ( 1.40 x)
bacon: 0.22 ( 2.20 x) 0.32 ( 1.78 x) ( 1.99 x)
minitestunit: 0.25 ( 2.50 x) 0.29 ( 1.61 x) ( 2.06 x)
testunit1: 0.10 ( 1.00 x) 0.57 ( 3.17 x) ( 2.08 x)
minitestspec: 0.27 ( 2.70 x) 0.32 ( 1.78 x) ( 2.24 x)
testunit2: 0.50 ( 5.00 x) 1.45 ( 8.06 x) ( 6.53 x)
shoulda: 0.67 ( 6.70 x) 1.27 ( 7.06 x) ( 6.88 x)
rspec2: 0.53 ( 5.30 x) 1.76 ( 9.78 x) ( 7.54 x)
cucumber: 1.57 ( 15.70 x) 1.92 ( 10.67 x) ( 13.18 x)
{:type=>"negative"}
bacon 0.19 0.19 0.32 1.7
cucumber 0.3 0.42 1.92 42.94
minitestspec 0.22 0.21 0.32 1.63
minitestunit 0.21 0.21 0.29 1.29
rspec 0.18 0.18 0.18 0.2
rspec2 0.28 0.37 1.76 57.37
shoulda 0.25 0.29 1.27 64.35
testunit1 0.06 0.11 0.57 6.11
testunit2 0.21 0.31 1.45 17.11
{:type=>"positive"}
bacon 0.2 0.18 0.22 0.53
cucumber 0.33 0.39 1.57 36.84
minitestspec 0.28 0.21 0.27 0.94
minitestunit 0.23 0.2 0.25 0.64
rspec 0.21 0.18 0.18 0.19
rspec2 0.29 0.3 0.53 3.13
shoulda 0.22 0.23 0.67 56.95
testunit1 0.06 0.06 0.1 0.58
testunit2 0.22 0.22 0.5 7.01
Size = 10:
framework: pos (multiple) neg (multiple) ( avg)
---------------------------------------------------------------
rspec: 0.19 ( 1.00 x) 0.20 ( 1.00 x) ( 1.00 x)
minitestunit: 0.64 ( 3.37 x) 1.29 ( 6.45 x) ( 4.91 x)
bacon: 0.53 ( 2.79 x) 1.70 ( 8.50 x) ( 5.64 x)
minitestspec: 0.94 ( 4.95 x) 1.63 ( 8.15 x) ( 6.55 x)
testunit1: 0.58 ( 3.05 x) 6.11 ( 30.55 x) ( 16.80 x)
testunit2: 7.01 ( 36.89 x) 17.11 ( 85.55 x) ( 61.22 x)
rspec2: 3.13 ( 16.47 x) 57.37 (286.85 x) (151.66 x)
cucumber: 36.84 (193.89 x) 42.94 (214.70 x) (204.30 x)
shoulda: 56.95 (299.74 x) 64.35 (321.75 x) (310.74 x)
$ gs
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# report.10.html
# test/
# tmp/
nothing added to commit but untracked files present (use "git add" to track)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment