RubyForge gem publishing time reduced from 1 hour to 5 minutes

22 Nov 2008

The RubyForge gem indexer has a fair number of gems to deal with - upwards of 17,000. This means that a complete rebuild of the various indexes can take a while; recently it's been taking 20-25 minutes and gobbling lots of I/O resources as it runs. This slows down everything else on that machine, of course.

But happily all that's changed. Eric Hodel made some changes to the indexer that allow it to do more incremental builds of the newer indexes, while the very old index - e.g., the uncompressed 27 MB YAML file - is now only rebuilt once a day. Adding a new gem to the index and making it available to download (thanks to those rewrite rules that Jeremy Kemper wrote) can now be done in around 10 seconds!

All that to say that instead of running the cronjob that deploys newly released gems once an hour, we're now running it every five minutes. So your new gems on RubyForge will become available much more quickly than before - and the server load is actually reduced. Good times indeed!