<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,6 +1,10 @@
 require 'rubygems'
 require 'sinatra'
 
+require 'mymath'
+
+require 'activesupport'
+
 def dbg
   require 'ruby-debug'
   Debugger.start
@@ -9,16 +13,29 @@ end
 
 helpers do
   def time(t)
-    t ? &quot;#{t} s&quot; : &quot;No data&quot;
+    if t
+      t = t.to_f
+      t &lt; 60 ? &quot;#{t.round_to(2)} s&quot; : &quot;#{(t / 60).round_to(2)} m&quot;
+    else
+      &quot;No data&quot;
+    end
   end
   
   def size(s)
-    s ? &quot;#{s} mb&quot; : &quot;No data&quot;
+    s ? &quot;#{mb(s)} mb&quot; : &quot;No data&quot;
   end
   
   def data(d)
     d ? d.to_s : &quot;No data&quot;
   end
+  
+  def total_binary_size(binaries)
+    binaries.inject(0){|x,(_,y)| x += y }
+  end
+
+  def mb(bytes)
+    bytes./(1_000_000.0).round_to(2)
+  end
 end
 
 get '/' do
@@ -51,50 +68,59 @@ __END__
 %h1 IronRuby Stats
 
 %div
-  ir.exe -X:Interpret
+  %a{:href =&gt; 'http://github.com/jschementi/ironruby-stats'} generated
+  daily from
+  %a{:href =&gt; 'http://github.com/ironruby/ironruby'} IronRuby
 
 %table
   %thead
     %tr
-      %th{:colspan =&gt; 2} Performance
+      %th{:colspan =&gt; 3}
+        Performance
+    %tr.sub
+      %th ir.exe
+      %th default
+      %th -X:Interpret
   %tbody
     %tr
       %th Startup time
-      %td= time stats[:startup]
+      %td= time(stats[:startup][:compiled])
+      %td= time(stats[:startup][:interpreted])
     %tr
-      %th Throughput (100000 iters)
-      %td= time stats[:throughput]
+      %th 100000 iters
+      %td= time(stats[:throughput][:compiled])
+      %td= time(stats[:throughput][:interpreted])
 
   %thead
     %tr
-      %th{:colspan =&gt; 2} RubySpec
+      %th{:colspan =&gt; 3} RubySpec
   = haml :mspec, :locals =&gt; {:title =&gt; &quot;Language&quot;, :mspec =&gt; stats[:mspec_language]}, :layout =&gt; false
   = haml :mspec, :locals =&gt; {:title =&gt; &quot;Core&quot;, :mspec =&gt; stats[:mspec_core]}, :layout =&gt; false
   = haml :mspec, :locals =&gt; {:title =&gt; &quot;Library&quot;, :mspec =&gt; stats[:mspec_library]}, :layout =&gt; false
 
   %thead
     %tr
-      %th{:colspan =&gt; 2} Source Code
+      %th{:colspan =&gt; 3} Source Code
   %tbody
     %tr
       %th Github repository size
-      %td= size stats[:repo]
+      %td{:colspan =&gt; 2}= size stats[:repo]
       
   %thead
     %tr
-      %th{:colspan =&gt; 2} Binaries
+      %th{:colspan =&gt; 3} Binaries
   %tbody
     %tr
       %th Build time
-      %td= time stats[:build]
+      %td{:colspan =&gt; 2}= time stats[:build]
     %tr
       %th Binary size
-      %td= size stats[:binsize]
+      %td{:colspan =&gt; 2}= size(total_binary_size(stats[:binsize]))
 
 @@ mspec
 %thead
   %tr.sub
-    %th{:colspan =&gt; 2}= title
+    %th{:colspan =&gt; 3}= title
   %tbody
     - if mspec.empty? || mspec.select{|_,v| v.to_f != 0}.empty?
       %tr
@@ -103,23 +129,23 @@ __END__
     - else
       %tr
         %th time
-        %td= time mspec[:seconds]
+        %td{:colspan =&gt; 2}= time mspec[:seconds]
       %tr
         %th files
-        %td= data mspec[:files]
+        %td{:colspan =&gt; 2}= data mspec[:files]
       %tr 
         %th examples
-        %td= data mspec[:examples]
+        %td{:colspan =&gt; 2}= data mspec[:examples]
       %tr
         %th expectations
-        %td= data mspec[:expectations]
+        %td{:colspan =&gt; 2}= data mspec[:expectations]
       %tr
         %th failures
-        %td{ :class =&gt; (mspec[:failures].to_i &gt; 0 ? 'fail' : 'pass') }
+        %td{:colspan =&gt; 2, :class =&gt; (mspec[:failures].to_i &gt; 0 ? 'fail' : 'pass') }
           = data mspec[:failures]
       %tr
         %th errors
-        %td{ :class =&gt; (mspec[:errors].to_i &gt; 0 ? 'fail' : 'pass') }
+        %td{:colspan =&gt; 2, :class =&gt; (mspec[:errors].to_i &gt; 0 ? 'fail' : 'pass') }
           = data mspec[:errors]
 
 @@ stylesheet
@@ -131,7 +157,6 @@ body
   :text-align center
 h1
   :border-bottom 2px solid #333
-
 table
   :margin-left auto
   :margin-right auto
@@ -155,6 +180,8 @@ table
       
     th, td
       :padding 5px
+    td
+      :text-align right
 .fail
   :color red
 .pass
@@ -164,3 +191,11 @@ div
   :margin-left auto
   :margin-right auto
   :position relative
+a
+  :color white
+  :padding 3px
+  :text-decoration none
+  &amp;:link, &amp;:visited
+    :background-color #222
+  &amp;:hover
+    :background-color #555
\ No newline at end of file</diff>
      <filename>app.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,5 +10,4 @@ class Float
   def floor_to(x)
     (self * 10**x).floor.to_f / 10**x
   end
-end
-
+end
\ No newline at end of file</diff>
      <filename>mymath.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>0a3598900e6e59d3c09d7fc1811e12820cdb37ee</id>
    </parent>
  </parents>
  <author>
    <name>Jimmy Schementi</name>
    <email>jschementi@gmail.com</email>
  </author>
  <url>http://github.com/jredville/ironruby-stats/commit/90965bccb958360aea0294d8f2cd370867ceac54</url>
  <id>90965bccb958360aea0294d8f2cd370867ceac54</id>
  <committed-date>2009-01-29T23:22:11-08:00</committed-date>
  <authored-date>2009-01-29T23:22:11-08:00</authored-date>
  <message>formatting</message>
  <tree>f76a787f64dc3bb5bf3b10a2357f7556a4e838c6</tree>
  <committer>
    <name>Jimmy Schementi</name>
    <email>jschementi@gmail.com</email>
  </committer>
</commit>
