
Rails 3.0.3 out - Faster Active Record plus fixes - vijaydev
http://weblog.rubyonrails.org/2010/11/15/rails-3-0-3-faster-active-record-plus-plenty-of-fixes
======
msy
Given the 20-odd hours 3.0.2 lasted I'm waiting a day or two before even
regression testing against this. While I love the pace of development I do
wish they were a little more thorough with the release testing at times.

~~~
wycats
From here on out, every point release will come with an RC. Not doing that for
3.0.2 was a mistake that we won't repeat.

~~~
lunaru
You guys do an awesome job, so I don't want to sound like I'm not being
appreciative, but I thought this should have been a takeaway from 2.3.7 ->
2.3.8 experience.

------
jz
I saw Aaron Patterson's presentation at RubyConf this year, which I have to
say was just as funny as informative. It was essentially all about squeezing
every bit of performance out of ARel. He ended up rewriting a good portion of
ARel as well. If anyone is interested, the ticket with benchmarking stats can
be viewed here:
[https://rails.lighthouseapp.com/projects/8994/tickets/5098-r...](https://rails.lighthouseapp.com/projects/8994/tickets/5098-rails-3-beta-4-activerecord-5x-slower-
than-rails-235)

------
percept
Has anybody benchmarked AR performance versus Sequel or DataMapper?

I've noticed a dearth of Rails3 performance discussion in general (usually
there's a ton of articles on any Rails-related topic).

~~~
shubber
I for one would like to see a discussion of why the decision was made to build
AReL in the first place, rather than adopt DataMapper. Now that's I've gotten
a chance to dig into AReL and it's integration with Rails, I'm less impressed
than when I first saw its announcement.

~~~
cies
ok let me through some fuel on the fire of that discussion...

i think AR went Arel, because AR's syntax and internals sucked badly, yet
admitting that by putting effort in DM would badly hurt the ego of one or more
AR devs.

sidenote1: if it wasn't for the humble merb devs, rails3 would never be what
it is today. these merb guys gave up a little of the name and fame of their
brilliant project so the community would benefit from not being split. DHH
abused that humbleness by not even mentioning them (the project nor the devs)
in the announcement of rails3! that's just plain wrong...

sidenote2: DM is great stuff -- still waiting for the version that allows
NoSQL backends as well though.

sidenote3: i'm ex-merb user, now rails3, yet never touchin' no AR.

~~~
jherdman
I disagree. It's pretty obvious that though a great number of changes came
through with Rails 3, one of the goals was to have a short uptake path. This
is readily observed through the decision to maintain Prototype as the default
JS library, ERB, and others, despite the gross popularity of the alternatives.

Introducing Arel, and improving ActiveRecord in general, serve to bolster this
attitude and approach. That is, to improve the state of the defaults, provide
an easy path for uptake, whilst now offering the alternatives cleaner means of
tying into the Rails system.

To address your side nodes...

#1. A hat tip would have been nice, but I don't think too many folks were
truly upset in the long run.

#2. Meh. The only thing I really miss from DM is the declaration of
attributes. Arel is pretty tight. Check out Mongoid. It's pretty slick.

#3. Ex-Merb user too. AR does the trick sometimes, but I'm happy to have the
freedom to use Mongoid, Sequel, etc.

~~~
technoweenie
1\. I think it goes to show how well the Rails and Merb teams were able to
integrate. Things were a bit rocky in the early days of the merger though :) A
big merger like that could easily have self destructed.

2\. You should be able to do that in AR by adding to the class-level #columns
collection yourself. I had a plugin for this years ago for validating contact
models. I'd imagine it's even easier in 3.0 since ActiveModel requires
attributes to be set.

3\. I really like the work that Josh and the rest put into ActiveModel. It
happened to materialize around the time various alternate datastores like
Mongo started getting popular.

