Just like Tempfile, CGI::Cookie uses SimpleDelegator. This causes a  
massive performance overhead for mod_ruby/FCGI based sites. I did a  
profile on 50 requests through a simple Rails that recorded 26,000  
calls to String.===, which SimpleDelegator was responsible for.

The fix is exactly the same as what Matz recommended for Tempfile in:
http://groups.google.com/groups? 
th=e3a4e68ba042f842&seekm=c3sioe%241qvm%241%40news.cybercity.dk#link14

-class CGI::Cookie < SimpleDelegator
+class CGI::Cookie < DelegateClass(Array)

+  def __setobj__(obj)
+    @_dc_obj = obj
+  end

I hope this change can make it into Ruby 1.8.2. For now, Rails (0.8)  
will include a custom CGI::Cookie with these changes. The fixed version  
gives about 100% more performance on some cases.
--
David Heinemeier Hansson,
http://www.basecamphq.com/   -- Web-based Project Management
http://www.rubyonrails.org/  -- Web-application framework for Ruby
http://macromates.com/       -- TextMate: Code and markup editor (OS X)
http://www.loudthinking.com/ -- Broadcasting Brain