I've been playing with porting the GPX library to a faster XML parser. It currently uses REXML, which I've been pretty happy with, except for the speed issues with large files. (I think REXML is great, by the way. The speed issues I've encountered with it are the same limitations I would expect from any XML lib written in an interpreted language.) So here's how the unit tests looked with REXML:

I spent a few minutes the other night porting the library to use the libxml-ruby bindings. I was surprised by just how much faster the code ran using libxml. Here are the unit tests with libxml (notice the "Finished in..." time):

I've checked the libxml-ruby version into the trunk, but it's not running in production anywhere yet.

Leave a Reply