'The Rails 4 Way' is the latest edition of the most comprehensive, authoritative guide to delivering production-quality code with Rails 4.
About half a year ago Vitaly posted a post about how simple it is today to use ruby patches bundled with rvm installation to dramatically reduce big rails app loading times and make your dev environment a much happier place.
Since then Ruby advanced with new patchlevels and there are new patches to use, so let's go over this once again.
First, we start with upgrading the rvm to latest and hopefully greatest
rvm get head
Since Vitaly wrote his post it seems that the railsexpress patch superseded the falcon one. At least that what i got from browsing over the patches repository.
So, next step is to compile our Ruby version with railsexpress patchset applied
rvm install 1.9.3-p392-railsexpress --patch railsexpress
Ok, now for some trivial benchmarking to ensure we made things better and not the other way around. Now, note that the say in the interwebs goes that the bigger your application and amount of gems it has to load the more happy you will be. Also, the usual disclaimer about those performance things, YMMV.
I took a random application from my dev folder. It loads 147 gems. Let's check out some numbers
✗ rvm use 1.9.3 Using /usr/local/rvm/gems/ruby-1.9.3-p392 ✗ time rails runner "puts :OK" OK rails runner "puts :OK" 16.28s user 1.70s system 98% cpu 18.185 total ✗ rvm use 1.9.3-p392-railsexpress Using /usr/local/rvm/gems/ruby-1.9.3-p392-railsexpress ✗ time rails runner "puts :OK" OK rails runner "puts :OK" 8.56s user 1.22s system 99% cpu 9.820 total
Just to make a comparison to the previous blog post, here are the numbers for the same application with ruby 1.9.3-p327 with falcon patches set:
✗ rvm use 1.9.3-p327-falcon Using /usr/local/rvm/gems/ruby-1.9.3-p327-falcon ✗ time rails runner "puts :OK" rails runner "puts :OK" 9.89s user 1.34s system 98% cpu 11.374 total
So, comparing to falcon patches it's not that big of an improvement, but still, another 1.5 seconds win.
And yes, i know that both before and after times are slow. But still, i see a nice around 50% time save on any environment loading. And what i really like is that this improvement demanded the whole 7 minutes of my time.
Rails Conference 2012, first time in Israel, was a great deal of fun. Lot's of presenters both local and from all over the world, well, more like from all over the world of Rails. There were talks from Github, Heroku, Engine Yard, Gogobot, Get Taxi and lots and lots of others. Solid organization from Raphael Fogel People and Computers guys. Hordes of interesting people to talk to, nice and abundant food and coffee, lots of great content from the speakers and to sign off the day Github guys invited everyone to an open bar drinkup event.
We gave 2 talks, Vitaly's "Performance - When, What and How" and Boris' "Rails Missing Features". Check out slides and videos of those talks.
"Performance - When, What and How"
"Rails Missing Features"
Finally, there is a Rails Conference here in Israel. Long overdue. We're sponsoring it and giving one keynote and one lecture.
Vitaly will present our view on how to handle performance optimizations, when to start, what to optimize and what are different tools that you can use in a process. Some common low hanging fruits, best practises, how different is optimizations for single page app vs full blown one etc.
Boris will give a lecture on missing features in Rails. After using Rails for more than a six years now we've seen it developing from a bit naive but full of good intentions drafts to mature, seasoned, life beaten framework that still managed to stay appealing. However, we think there are several things that everyone would benefit if they'll become part of Rails.
And there are lots of interesting topics should be covered by lots of smart people from all over the world. Guys from Github, Heroku, Engine Yard, Gogobot, Get Taxi and lots of others coming to talk about Rails.
And of course there will be beers to spice up geeky discussions.
So definitely go register and come share this first of a kind experience. See you there.
Supports ERB and HAML for now, vote on site for more formats.
Beautifully crafted, totally free and it's kinda fun.
120 happy dreamers cooking for 54 hours of pure startup joy, well-fed and ready to work. Of course, I’m talking here about Startup Weekend Israel.
Come up with an idea that can be implemented in a couple of days, yet is so cool, so innovative, and so useful that I could attract the best of the best.
P.S Now we have some pictures too there, you should check it out
And those two are getting along just fine, until the user logs in. After that clicktale service is cut out of the html pages this user gets and can't record the session. But it just started to get interesting...