diff options
author | Eric Wong <normalperson@yhbt.net> | 2010-01-07 23:37:35 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2010-01-07 23:37:35 -0800 |
commit | 5624bcde20a73fb91ca515afc01245d87fac2479 (patch) | |
tree | afb70f08d6c61663fdcfd0b373fe294f1687e4a4 | |
parent | 1e902098533a4a66e8d6782b00703aa9a5eaa5f7 (diff) | |
download | rainbows-5624bcde20a73fb91ca515afc01245d87fac2479.tar.gz |
Rev 0.3.2 makes performance with Threads* under Ruby 1.8 tolerable.
-rw-r--r-- | Documentation/comparison.haml | 7 | ||||
-rw-r--r-- | lib/rainbows/rev_thread_pool.rb | 5 | ||||
-rw-r--r-- | lib/rainbows/rev_thread_spawn.rb | 5 | ||||
-rw-r--r-- | local.mk.sample | 4 | ||||
-rw-r--r-- | rainbows.gemspec | 2 | ||||
-rw-r--r-- | t/GNUmakefile | 13 |
6 files changed, 18 insertions, 18 deletions
diff --git a/Documentation/comparison.haml b/Documentation/comparison.haml index 49531f9..9892138 100644 --- a/Documentation/comparison.haml +++ b/Documentation/comparison.haml @@ -53,7 +53,7 @@ %tr.comp_row %td.mod RevThreadSpawn %td.tee No - %td.r18 Slow* + %td.r18 Yes %td.r19 Yes %td.rbx No %td.slow Yes @@ -88,7 +88,7 @@ %tr.comp_row %td.mod RevThreadPool %td.tee No - %td.r18 Slow* + %td.r18 Yes %td.r19 Yes %td.rbx No %td.slow Yes @@ -101,8 +101,7 @@ %td.slow Yes %ul %li - RevThread* + 1.8 performance is bad with Rev <= 0.3.1. - Rev 0.3.2 (when it is released) should be much faster under 1.8. + RevThread* + 1.8 requires Rev >= 0.3.2 for reasonable performance %li waiting on Rubinius for better signal handling %li diff --git a/lib/rainbows/rev_thread_pool.rb b/lib/rainbows/rev_thread_pool.rb index cb51566..918b57a 100644 --- a/lib/rainbows/rev_thread_pool.rb +++ b/lib/rainbows/rev_thread_pool.rb @@ -15,9 +15,8 @@ module Rainbows # slow clients and applications with medium-to-slow response times # (I/O bound), but less suitable for sleepy applications. # - # WARNING: this model does not currently perform well under 1.8 with - # Rev 0.3.1. Rev 0.3.2 should include significant performance - # improvements under Ruby 1.8. + # Ruby 1.8 users are strongly advised to use Rev >= 0.3.2 to get + # usable performance. module RevThreadPool diff --git a/lib/rainbows/rev_thread_spawn.rb b/lib/rainbows/rev_thread_spawn.rb index 00d8b6b..94203f3 100644 --- a/lib/rainbows/rev_thread_spawn.rb +++ b/lib/rainbows/rev_thread_spawn.rb @@ -15,9 +15,8 @@ module Rainbows # slow clients and applications with medium-to-slow response times # (I/O bound), but less suitable for sleepy applications. # - # WARNING: this model does not currently perform well under 1.8 with - # Rev 0.3.1. Rev 0.3.2 should include significant performance - # improvements under Ruby 1.8. + # Ruby 1.8 users are strongly advised to use Rev >= 0.3.2 to get + # usable performance. module RevThreadSpawn diff --git a/local.mk.sample b/local.mk.sample index 154c1c2..821fa12 100644 --- a/local.mk.sample +++ b/local.mk.sample @@ -7,8 +7,8 @@ RSYNC = rsync DLEXT := so gems := rack-1.0.1 -# gems += unicorn-0.95.1 # installed via setup.rb -gems += rev-0.3.1 # up to 0.3.2 once it's out for 1.8 +# gems += unicorn-0.96.0 # installed via setup.rb +gems += rev-0.3.2 gems += iobuffer-0.1.3 gems += eventmachine-0.12.10 gems += async_sinatra-0.1.5 sinatra-0.9.4 diff --git a/rainbows.gemspec b/rainbows.gemspec index 13b207d..3c9f1b8 100644 --- a/rainbows.gemspec +++ b/rainbows.gemspec @@ -53,7 +53,7 @@ Gem::Specification.new do |s| # s.add_dependency(%q<revactor>, [">= 0.1.5"]) # # Revactor depends on Rev, too, 0.3.0 got the ability to attach IOs - # s.add_dependency(%q<rev>, [">= 0.3.1"]) + # s.add_dependency(%q<rev>, [">= 0.3.2"]) # # Rev depends on IOBuffer, which got faster in 0.1.3 # s.add_dependency(%q<iobuffer>, [">= 0.1.3"]) diff --git a/t/GNUmakefile b/t/GNUmakefile index 1008f86..1c979b3 100644 --- a/t/GNUmakefile +++ b/t/GNUmakefile @@ -22,7 +22,14 @@ else endif export RUBYLIB RUBY_VERSION -models = ThreadPool ThreadSpawn Rev EventMachine NeverBlock +models += ThreadPool +models += ThreadSpawn +models += Rev +models += EventMachine +models += NeverBlock +models += RevThreadSpawn +models += RevThreadPool + rp := ) ONENINE := $(shell case $(RUBY_VERSION) in 1.9.*$(rp) echo true;;esac) ifeq ($(ONENINE),true) @@ -30,10 +37,6 @@ ifeq ($(ONENINE),true) models += FiberSpawn models += RevFiberSpawn models += FiberPool - - # technically this works under 1.8, but wait until rev 0.3.2 - models += RevThreadSpawn - models += RevThreadPool endif all_models := $(models) Base |