Skip to content
This repository

Mar 21, 2013

  1. Jon Rowe

    whitespace cleanup

    authored March 22, 2013

Oct 19, 2011

  1. David Chelimsky

    add benchmark showing improvement by moving from DSL to classes

    "x.should eq(5)" is over 200x faster using a class than the dsl in ruby
    1.9.2, with similar results in other rubies
    
    =========================================
    
    3 runs of 1000 times for each example running ruby/1.8.7
    passing examples: 5.should eq(5)
    * using the DSL
      0.340000   0.000000   0.340000 (  0.342052)
      0.330000   0.010000   0.340000 (  0.340618)
      0.340000   0.000000   0.340000 (  0.339149)
    
    * using a class
      0.000000   0.000000   0.000000 (  0.003762)
      0.010000   0.000000   0.010000 (  0.004192)
      0.000000   0.000000   0.000000 (  0.003791)
    
    failing examples: 5.should eq(3)
    * using the DSL
      0.380000   0.000000   0.380000 (  0.384415)
      0.380000   0.010000   0.390000 (  0.381604)
      0.370000   0.000000   0.370000 (  0.380255)
    
    * using a class
      0.040000   0.000000   0.040000 (  0.034528)
      0.030000   0.000000   0.030000 (  0.032021)
      0.060000   0.010000   0.070000 (  0.067579)
    
    3 runs of 1000 times for each example running ruby/1.9.2
    passing examples: 5.should eq(5)
    * using the DSL
      0.250000   0.010000   0.260000 (  0.249692)
      0.250000   0.000000   0.250000 (  0.253856)
      0.230000   0.000000   0.230000 (  0.232787)
    
    * using a class
      0.000000   0.000000   0.000000 (  0.001069)
      0.000000   0.000000   0.000000 (  0.001041)
      0.000000   0.000000   0.000000 (  0.001023)
    
    failing examples: 5.should eq(3)
    * using the DSL
      0.370000   0.000000   0.370000 (  0.377139)
      0.360000   0.010000   0.370000 (  0.358379)
      0.370000   0.000000   0.370000 (  0.373795)
    
    * using a class
      0.060000   0.010000   0.070000 (  0.073325)
      0.050000   0.000000   0.050000 (  0.053562)
      0.070000   0.000000   0.070000 (  0.075382)
    
    3 runs of 1000 times for each example running ruby/1.9.3
    passing examples: 5.should eq(5)
    * using the DSL
        0.210000   0.000000   0.210000 (  0.219539)
       0.220000   0.010000   0.230000 (  0.217905)
       0.220000   0.000000   0.220000 (  0.219657)
    
    * using a class
        0.000000   0.000000   0.000000 (  0.001054)
       0.000000   0.000000   0.000000 (  0.001048)
       0.000000   0.000000   0.000000 (  0.001035)
    
    failing examples: 5.should eq(3)
    * using the DSL
        0.350000   0.000000   0.350000 (  0.351742)
       0.360000   0.000000   0.360000 (  0.362456)
       0.340000   0.010000   0.350000 (  0.351098)
    
    * using a class
        0.080000   0.000000   0.080000 (  0.079964)
       0.080000   0.000000   0.080000 (  0.076579)
       0.070000   0.000000   0.070000 (  0.080587)
    
    3 runs of 1000 times for each example running rbx/1.8.7
    passing examples: 5.should eq(5)
    * using the DSL
      1.926107   0.009784   1.935891 (  1.629354)
      0.583860   0.004390   0.588250 (  0.580396)
      0.868571   0.003510   0.872081 (  0.796644)
    
    * using a class
      0.002652   0.000013   0.002665 (  0.002679)
      0.001845   0.000016   0.001861 (  0.001848)
      0.002656   0.000010   0.002666 (  0.001823)
    
    failing examples: 5.should eq(3)
    * using the DSL
      0.694148   0.002006   0.696154 (  0.648551)
      1.063773   0.004653   1.068426 (  0.998837)
      0.643594   0.001356   0.644950 (  0.638358)
    
    * using a class
      0.020139   0.000036   0.020175 (  0.020161)
      0.097540   0.000575   0.098115 (  0.084680)
      0.058366   0.000269   0.058635 (  0.044372)
    
    3 runs of 1000 times for each example running jruby/1.8.7
    passing examples: 5.should eq(5)
    * using the DSL
      0.355000   0.000000   0.355000 (  0.355000)
      0.261000   0.000000   0.261000 (  0.261000)
      0.242000   0.000000   0.242000 (  0.242000)
    
    * using a class
      0.007000   0.000000   0.007000 (  0.007000)
      0.004000   0.000000   0.004000 (  0.004000)
      0.001000   0.000000   0.001000 (  0.001000)
    
    failing examples: 5.should eq(3)
    * using the DSL
      0.507000   0.000000   0.507000 (  0.507000)
      0.468000   0.000000   0.468000 (  0.468000)
      0.476000   0.000000   0.476000 (  0.476000)
    
    * using a class
      0.259000   0.000000   0.259000 (  0.259000)
      0.521000   0.000000   0.521000 (  0.521000)
      0.244000   0.000000   0.244000 (  0.244000)
    authored October 19, 2011
Something went wrong with that request. Please try again.