<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -8,135 +8,138 @@ per = 2
 
 puts &quot;Control: 1m loops accessing a local variable 100 times&quot;
 per.times {
-puts Benchmark.measure {
-  a = 5; 
-  i = 0;
-  while i &lt; total
-    a; a; a; a; a; a; a; a; a; a;
-    a; a; a; a; a; a; a; a; a; a;
-    a; a; a; a; a; a; a; a; a; a;
-    a; a; a; a; a; a; a; a; a; a;
-    a; a; a; a; a; a; a; a; a; a;
-    a; a; a; a; a; a; a; a; a; a;
-    a; a; a; a; a; a; a; a; a; a;
-    a; a; a; a; a; a; a; a; a; a;
-    a; a; a; a; a; a; a; a; a; a;
-    a; a; a; a; a; a; a; a; a; a;
-    i += 1;
-  end
-}
+  puts Benchmark.measure {
+    a = 5; 
+    i = 0;
+    while i &lt; total
+      a; a; a; a; a; a; a; a; a; a;
+      a; a; a; a; a; a; a; a; a; a;
+      a; a; a; a; a; a; a; a; a; a;
+      a; a; a; a; a; a; a; a; a; a;
+      a; a; a; a; a; a; a; a; a; a;
+      a; a; a; a; a; a; a; a; a; a;
+      a; a; a; a; a; a; a; a; a; a;
+      a; a; a; a; a; a; a; a; a; a;
+      a; a; a; a; a; a; a; a; a; a;
+      a; a; a; a; a; a; a; a; a; a;
+      i += 1;
+    end
+  }
 }
 
 puts &quot;Control 2: 1m loops accessing nil 100 times&quot;
 per.times {
-puts Benchmark.measure {
-  a = 5; 
-  i = 0;
-  while i &lt; total
-    nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
-    nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
-    nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
-    nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
-    nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
-    nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
-    nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
-    nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
-    nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
-    nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
-    i += 1;
-  end
-}
+  puts Benchmark.measure {
+    a = 5; 
+    i = 0;
+    while i &lt; total
+      nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
+      nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
+      nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
+      nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
+      nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
+      nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
+      nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
+      nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
+      nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
+      nil; nil; nil; nil; nil; nil; nil; nil; nil; nil;
+      i += 1;
+    end
+  }
 }
 
-puts &quot;Test fastmath: 1m loops accessing a fixnum var and calling + 1&quot;
+puts &quot;Test fastmath: 250k loops accessing a fixnum var and calling + 1&quot;
 per.times {
-puts Benchmark.measure {
-  a = 5; 
-  i = 0;
-  while i &lt; total
-    a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
-    a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
-    a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
-    a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
-    a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
-    a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
-    a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
-    a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
-    a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
-    a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
-    i += 1;
-  end
-}
+  puts Benchmark.measure {
+    a = 5; 
+    i = 0;
+    while i &lt; total/4
+      a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
+      a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
+      a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
+      a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
+      a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
+      a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
+      a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
+      a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
+      a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
+      a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1; a + 1;
+      i += 1;
+    end
+  }
 }
 
 class Fixnum
   alias :plus :+
 end
 
-puts &quot;Test prim math: 1m loops accessing a fixnum var and calling plus(1)&quot;
+puts &quot;Test prim math: 250k loops accessing a fixnum var and calling plus(1)&quot;
 per.times {
-puts Benchmark.measure {
-  a = 5; 
-  i = 0;
-  while i &lt; total
-    a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
-    a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
-    a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
-    a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
-    a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
-    a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
-    a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
-    a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
-    a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
-    a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
-    i += 1;
-  end
-}
+  puts Benchmark.measure {
+    a = 5; 
+    i = 0;
+    while i &lt; total/4
+      a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
+      a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
+      a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
+      a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
+      a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
+      a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
+      a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
+      a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
+      a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
+      a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1); a.plus(1);
+      i += 1;
+    end
+  }
 }
 
 cm = def foo
   self
 end
 
-puts &quot;Test ruby method (prim): 1m loops calling self's foo 100 times&quot;
+puts &quot;Test ruby method (prim): 250k loops calling self's foo 100 times&quot;
 per.times {
-puts Benchmark.measure {
-  i = 0;
-  while i &lt; total
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    i += 1;
-  end
-}
+  puts Benchmark.measure {
+    i = 0;
+    while i &lt; total/4
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      i += 1;
+    end
+  }
 }
 
-cm.primitive = nil
+begin
+  cm.primitive = nil
+rescue
+  puts &quot;No .primitive available&quot;
+end
 
-puts &quot;Test ruby method: 1m loops calling self's foo 100 times&quot;
+puts &quot;Test ruby method: 250k loops calling self's foo 100 times&quot;
 per.times {
-puts Benchmark.measure {
-  i = 0;
-  while i &lt; total
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
-    i += 1;
-  end
+  puts Benchmark.measure {
+    i = 0;
+    while i &lt; total/4
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
+      i += 1;
+    end
+  }
 }
-}
-</diff>
      <filename>benchmark/rubinius/bm_method_dispatch.rb</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,7 @@ BM_GLOB        = File.expand_path(File.join(File.dirname(__FILE__),'../benchmark
 $interpreters       = ['ruby','shotgun/rubinius']
 
 # WIDTH of test labels, required for nice formating
-WIDTH          = 44
+WIDTH          = 50
 
 REPORT_WIDTH   = WIDTH - 6
 COLUMN_WIDTH   = 12
@@ -130,9 +130,12 @@ class RbxBenchmarkFile
   end
 
   def run
+    spaces = WIDTH - label.length
+    spaces = spaces &lt; 0 ? 0 : spaces
+
     @result = if OPTIONS.warmup then
                 Benchmark.bmbm do |x|
-                  x.report(label + ' ' * (WIDTH - label.length)) do
+                  x.report(label + ' ' * spaces) do
                     if system quiet_command then
                       @pass = true
                     else
@@ -143,7 +146,7 @@ class RbxBenchmarkFile
                 end.first
               else
                 Benchmark.bm do |x|
-                  x.report(label + ' ' * (WIDTH - label.length)) do
+                  x.report(label + ' ' * spaces) do
                     if system quiet_command then
                       @pass = true
                     else</diff>
      <filename>bin/bm</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>dd4304f146d7a8dbfb31c678a094181236e16173</id>
    </parent>
  </parents>
  <author>
    <name>Tom Mornini</name>
    <email>tmornini@engineyard.com</email>
  </author>
  <url>http://github.com/evanphx/rubinius/commit/91a822655d59dfc64d91629bc1e2b05b86cffab8</url>
  <id>91a822655d59dfc64d91629bc1e2b05b86cffab8</id>
  <committed-date>2008-03-11T02:29:58-07:00</committed-date>
  <authored-date>2008-03-11T02:29:58-07:00</authored-date>
  <message>Prevent bin/bm from crashing on long test names, and reduce loop counts on
rubinius/bm_method_dispatch.rb to make tests run more quickly. Also prevent
a crash of this test when running on MRI (and likely other non-Rubinius
runtimes)</message>
  <tree>578bb2d50b955d8c18d1cb944f40be26ae51c550</tree>
  <committer>
    <name>Tom Mornini</name>
    <email>tmornini@engineyard.com</email>
  </committer>
</commit>
