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 :-)