Created
April 7, 2009 21:49
-
-
Save stepheneb/91477 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'rubygems' | |
require 'benchmark' | |
require 'bluecloth' | |
# results on Mac OS X 10.5.6, Ciore Duo 2 at 2.5 GHz | |
# | |
# also see graph of results: | |
# | |
# http://img.skitch.com/20090408-fp1sxu3fu7dm4296kqrmskgaqt.png | |
# | |
# [bluecloth-git (master)]$ ruby bench.rb | |
# | |
# Ruby version: MRI 1.8.6 (2008-03-03 rev 114), platform: universal-darwin9.0 | |
# | |
# Benchmark Ruby BlueCloth processing of: http://daringfireball.net/projects/markdown/syntax.text | |
# file length = 11075 | |
# | |
# running benchmark once. | |
# | |
# Rehearsal ------------------------------------------------------------------------------------------ | |
# process README.md concatenated 1 times with BlueCloth 0.140000 0.010000 0.150000 ( 0.159116) | |
# process README.md concatenated 2 times with BlueCloth 0.330000 0.040000 0.370000 ( 0.398529) | |
# process README.md concatenated 4 times with BlueCloth 0.820000 0.140000 0.960000 ( 0.976002) | |
# process README.md concatenated 8 times with BlueCloth 2.130000 0.510000 2.640000 ( 2.683848) | |
# process README.md concatenated 16 times with BlueCloth 6.520000 2.090000 8.610000 ( 8.763092) | |
# process README.md concatenated 32 times with BlueCloth 22.370000 8.570000 30.940000 ( 31.517693) | |
# -------------------------------------------------------------------------------- total: 43.670000sec | |
# | |
# user system total real | |
# process README.md concatenated 1 times with BlueCloth 0.090000 0.010000 0.100000 ( 0.105123) | |
# process README.md concatenated 2 times with BlueCloth 0.220000 0.030000 0.250000 ( 0.250649) | |
# process README.md concatenated 4 times with BlueCloth 0.590000 0.100000 0.690000 ( 0.696880) | |
# process README.md concatenated 8 times with BlueCloth 1.810000 0.460000 2.270000 ( 2.298147) | |
# process README.md concatenated 16 times with BlueCloth 6.150000 2.110000 8.260000 ( 8.352241) | |
# process README.md concatenated 32 times with BlueCloth 22.210000 8.970000 31.180000 ( 31.484872) | |
# | |
# [bluecloth-git (master)]$ jruby bench.rb 2 | |
# | |
# Ruby version: JRuby 1.8.6 (2009-04-08 rev 287) [i386-jruby1.3.0], platform: Java, version 1.6.0_07 | |
# | |
# Benchmark Ruby BlueCloth processing of: http://daringfireball.net/projects/markdown/syntax.text | |
# file length = 11075 | |
# | |
# running benchmark 2 times. | |
# | |
# Rehearsal ------------------------------------------------------------------------------------------ | |
# process README.md concatenated 1 times with BlueCloth 0.535000 0.000000 0.535000 ( 0.535000) | |
# process README.md concatenated 2 times with BlueCloth 0.557000 0.000000 0.557000 ( 0.557000) | |
# process README.md concatenated 4 times with BlueCloth 0.672000 0.000000 0.672000 ( 0.671000) | |
# process README.md concatenated 8 times with BlueCloth 1.380000 0.000000 1.380000 ( 1.380000) | |
# process README.md concatenated 16 times with BlueCloth 4.277000 0.000000 4.277000 ( 4.277000) | |
# process README.md concatenated 32 times with BlueCloth 14.257000 0.000000 14.257000 ( 14.257000) | |
# -------------------------------------------------------------------------------- total: 21.678000sec | |
# | |
# user system total real | |
# process README.md concatenated 1 times with BlueCloth 0.068000 0.000000 0.068000 ( 0.068000) | |
# process README.md concatenated 2 times with BlueCloth 0.156000 0.000000 0.156000 ( 0.156000) | |
# process README.md concatenated 4 times with BlueCloth 0.404000 0.000000 0.404000 ( 0.404000) | |
# process README.md concatenated 8 times with BlueCloth 1.166000 0.000000 1.166000 ( 1.166000) | |
# process README.md concatenated 16 times with BlueCloth 3.984000 0.000000 3.984000 ( 3.984000) | |
# process README.md concatenated 32 times with BlueCloth 14.119000 0.000000 14.119000 ( 14.118000) | |
if RUBY_PLATFORM =~ /java/ | |
include Java | |
@ruby_info = "Ruby version: JRuby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE} rev #{RUBY_PATCHLEVEL}) [i386-jruby#{JRUBY_VERSION}]" | |
@ruby_info << ", platform: Java, version #{java.lang.System.getProperty('java.version')}" | |
else | |
@ruby_info = "Ruby version: MRI #{RUBY_VERSION} (#{RUBY_RELEASE_DATE} rev #{RUBY_PATCHLEVEL})" | |
@ruby_info << ", platform: #{RUBY_PLATFORM}" | |
end | |
# @readme = File.read("PHP_Markdown_README.txt") | |
# found here: | |
# http://wpcal.firetree.net/wp-content/plugins/PHP%20Markdown%201.0.1k/PHP%20Markdown%20Readme.text | |
@readme = File.read("README.md") | |
# try this one instead: | |
# http://eigenclass.org/misc/README.md | |
@readme_files = [] | |
(0..5).each do |i| | |
@readme_files << @readme * (2**i) | |
end | |
num = 32 | |
test_iterations = ARGV.first.to_i | |
test_iterations = 1 unless test_iterations > 1 | |
puts | |
puts @ruby_info | |
puts | |
puts "Benchmark Ruby BlueCloth processing of: http://daringfireball.net/projects/markdown/syntax.text" | |
puts "file length = #{@readme.length}" | |
puts | |
print "running benchmark " | |
if test_iterations == 1 | |
puts "once.\n\n" | |
else | |
puts "#{test_iterations} times.\n\n" | |
end | |
test_iterations.times do | |
Benchmark.bmbm do |x| | |
(0..5).each do |i| | |
x.report("process README.md concatenated #{2**i} times with BlueCloth") { BlueCloth::new(@readme_files[i]).to_html } | |
end | |
end | |
puts | |
end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment