about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2010-01-07 23:37:35 -0800
committerEric Wong <normalperson@yhbt.net>2010-01-07 23:37:35 -0800
commit5624bcde20a73fb91ca515afc01245d87fac2479 (patch)
treeafb70f08d6c61663fdcfd0b373fe294f1687e4a4
parent1e902098533a4a66e8d6782b00703aa9a5eaa5f7 (diff)
downloadrainbows-5624bcde20a73fb91ca515afc01245d87fac2479.tar.gz
Rev 0.3.2 makes performance with Threads* under Ruby 1.8
tolerable.
-rw-r--r--Documentation/comparison.haml7
-rw-r--r--lib/rainbows/rev_thread_pool.rb5
-rw-r--r--lib/rainbows/rev_thread_spawn.rb5
-rw-r--r--local.mk.sample4
-rw-r--r--rainbows.gemspec2
-rw-r--r--t/GNUmakefile13
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 &lt;= 0.3.1.
-    Rev 0.3.2 (when it is released) should be much faster under 1.8.
+    RevThread* + 1.8 requires Rev &gt;= 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