ruby-oai v0.0.3
v0.0.3 of ruby-oai was just released to RubyForge. The big news is that this release allows you to use libxml for parsing thanks to the efforts of Terry Reese. Terry is building a RubyOnRails metasearch application at OSU and, well, felt the need for speed.
After committing the branch he was working on I ran some performance tests of my own. I ran a vanilla ListRecords request against dspace, eprints and american memory oai-pmh servers using both the rexml (default) and libxml backend parsers. Here are the results
| server | parser | real | user | sys |
| dspace | rexml | 0m3.632s | 0m2.008s | 0m0.044s |
| libxml | 0m1.900s | 0m0.212s | 0m0.032s | |
| 1.732s (+48%) | 1.796s (+89%) | 0.012s (+27%) | ||
| eprints | rexml | 0m19.807s | 0m1.984s | 0m0.036s |
| libxml | 0m19.344s | 0m0.236s | 0m0.024s | |
| 0.463s (+2%) | 1.748s (+88%) | 0.012s (+33%) | ||
| american-memory | rexml | 0m12.991s | 0m5.424s | 0m0.052s |
| libxml | 0m7.420s | 0m0.324s | 0m0.032s | |
| 5.571s (+43%) | 5.104s (+94%) | 0.02s (+38%) | ||
Those percentage values are speed improvements. Thanks Terry :-)
September 20th, 2006 at 10:06 pm
[...] Ed posted revisions to the ruby-oai package. It includes the ability to utilize libxml as the xml parser. [...]
September 27th, 2007 at 3:36 pm
Hi Ed,
Kete uses rexml to parse results that it gets back from its Zebra server. It’s one area I have definitely marked for speed improvements. I’m curious about your experience with the libxml tie-in. I’m installing them gem now…
Just a note, the browsing of the source code on rubyforge appears broken.
Cheers,
Walter