Investigating Padrino

Rails 3 has outgrown my needs.  I spent a day and a half trying to migrate Amethyst from Rails 2.3 to Rails 3.0 and didn’t appear to be any closer to being done.  And I encountered a number of Rails3 bugs and/or incompatibilities that had no obvious fix.

Watching Rails 3 development, I see it creeping down the slope of being all things to all Web developers with lots of new, shiny thrown in for good measure.  There are a lot of moving parts.  (I need to install a Javascript interpreter?  Really?)  Rails3 was supposed to be much more modularized and configurable, cherry picking just the pieces I need, but I may have to install everything and then try and back out unneeded pieces.

Rails was originally developed by someone writing lots of Websites.  They climb the initial, steep learning curve once and then can crank out product at a ferocious rate.  The Website part of Amethyst is relatively straight forward.  It’s the scoring and the backend (i.e., non-Rails parts) that are the secret sauce.  And much of the Rails2 and Rails3 magic costs too much in terms of user response times (i.e. the routing magic – I’ve reverted to string interpolation for URLs).

I’m investigating migrating to Padrino, a Web framework built on top of Sinatra.  Padrino claims to be 3-5 times faster than Rails.  My first cut using the simplest usable piece of Amethyst (viewing the articles in a whitelisted subset of the RSS feeds subscribed to) is appropriately twice as fast.  But it doesn’t yet have pagination or caching.  I expect the former to slightly slow it down and the former to significantly speed it up.  I’ll be blogging on my progress, the problems I encounted (and solutions when I find them), and how satisfactory I find Padrino.

Leave a Reply

You must be logged in to post a comment.