diff options
author | evanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9> | 2007-10-22 06:09:56 +0000 |
---|---|---|
committer | evanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9> | 2007-10-22 06:09:56 +0000 |
commit | 7b64d3ef3496d14bc8040d00e63cf2bef6133ecd (patch) | |
tree | 219bd1397b30121ceaac13795bd3d0103ddfbe23 /test | |
parent | f33e60a3ae80aeced81c692f7934eea8454d75e9 (diff) | |
download | unicorn-7b64d3ef3496d14bc8040d00e63cf2bef6133ecd.tar.gz |
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@726 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'test')
-rw-r--r-- | test/test_uriclassifier.rb | 67 |
1 files changed, 42 insertions, 25 deletions
diff --git a/test/test_uriclassifier.rb b/test/test_uriclassifier.rb index 973309a..d2099f8 100644 --- a/test/test_uriclassifier.rb +++ b/test/test_uriclassifier.rb @@ -185,37 +185,54 @@ class URIClassifierTest < Test::Unit::TestCase end end - def test_benchmark - @fragments = %w(the benchmark module provides methods to measure and report the time used to execute ruby code) - - @classifier = URIClassifier.new - @classifier.register("/", 1) - - @requests = [] + def xtest_benchmark + # This benchmark should favor a TST, but it seems to be mostly irrelevant + + @uris = %w( + / + /dag /dig /digbark /dog /dogbark /dog/bark /dug /dugbarking /puppy + /c /cat /cat/tree /cat/tree/mulberry /cats /cot /cot/tree/mulberry /kitty /kittycat + ) - @fragments.size.times do |n| - this_uri = "/" + @fragments[0..n].join("/") - @classifier.register(this_uri, 1) - @requests << this_uri + @requests = %w( + / + /dig + /digging + /dogging + /dogbarking/ + /puppy/barking + /c + /cat + /cat/shrub + /cat/tree + /cat/tree/maple + /cat/tree/mulberry/tree + /cat/tree/oak + /cats/ + /cats/tree + /cod + /zebra + ) + + @classifier = URIClassifier.new + @uris.each do |uri| + @classifier.register(uri, 1) end - - @requests = @requests.map do |path| - (0..100).map do |n| - path.size > n ? path[0..-n] : path - end - end.flatten * 10 - - puts "#{@fragments.size} paths registered" - puts "#{@requests.size} requests queued" - + Benchmark.bm do |x| x.report do - @requests.each do |request| - @classifier.resolve(request) - end +# require 'ruby-prof' +# profile = RubyProf.profile do + 10000.times do + @requests.each do |request| + @classifier.resolve(request) + end + end +# end +# File.open("profile.html", 'w') { |file| RubyProf::GraphHtmlPrinter.new(profile).print(file, 0) } end end - + end end |