Skip to content
Commits on Jun 23, 2012
  1. @dchelimsky

    Change BaseMatcher to a class.

    dchelimsky committed Jun 23, 2012
    It was a module, but it was really acting as a base class (it was even
    in the name).
    
    Very slightly more efficient (see benchmarks/include_v_superclass.rb)
Commits on Jan 28, 2012
  1. @dchelimsky

    Remove relative links from README, since they can't work correctly on

    dchelimsky committed Jan 28, 2012
    github and rubydoc.info.
    
    - Fixes #113.
Commits on Jan 12, 2012
  1. @myronmarston

    Perf: Set#include? is O(1); Array#include? is O(N).

    myronmarston committed Jan 11, 2012
    See the included benchmarks for actual benchmarks against a collection of 7 values like we have here.
  2. @dchelimsky
Commits on Nov 23, 2011
  1. @dchelimsky

    Revert "add changelog to rdoc"

    dchelimsky committed Nov 23, 2011
    Accidentally included some stuff I was in the middle of.
    
    This reverts commit 36f2c5d.
  2. @dchelimsky

    add changelog to rdoc

    dchelimsky committed Nov 23, 2011
Commits on Oct 19, 2011
  1. @dchelimsky

    add benchmark showing improvement by moving from DSL to classes

    dchelimsky committed Oct 19, 2011
    "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)
Something went wrong with that request. Please try again.