Here's a little more data. I've stripped the application down to a 
bare-bones stream parser:

---------------
#!/usr/bin/env ruby

require "rexml/document"
require "rexml/streamlistener"

class Handler
     include REXML::StreamListener

     def initialize
     end

     def tag_start(name, attrs)
     end

     def tag_end(name)
     end

     def text(t)
     end

     def cdata(d)
     end
end

REXML::Document.parse_stream($stdin, Handler.new)
---------------

I'm running the tests on two different machines because it's a pain to 
switch minor versions on the same machine. But I have run tests on the 
same machine to verify the results.

To parse a 65,000 line XML file:

machine1             machine2
1 GHz                3.2 GHz
Ruby 1.8.0           Ruby 1.8.1
17 seconds           515 seconds

Steve