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

2 Responses to “ruby-oai v0.0.3”

  1. Terry’s Worklog » ruby-oai 0.0.3 — thanks ed Says:

    [...] Ed posted revisions to the ruby-oai package.  It includes the ability to utilize libxml as the xml parser.  [...]

  2. Walter McGinnis Says:

    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

Leave a Reply

You must be logged in to post a comment.