Hacker News new | past | comments | ask | show | jobs | submit login
Rails 3.0.3 out - Faster Active Record plus fixes (rubyonrails.org)
114 points by vijaydev on Nov 16, 2010 | hide | past | favorite | 12 comments



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.


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.


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.


I'm really, really glad to hear that! We'll try and uphold our end and give them a spin, report & patch.


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...


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


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.


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.


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.


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.


ARel was initially written outside of Rails Core (by Nick Kallen, just before he joined Twitter iirc). It was a continuation of his work on the named_scope plugin. No one's ego had anything to do with it.

FWIW, I used both Sequel and DataMapper in various internal projects. I didn't like either for various reasons. Different strokes...


DM was nowhere near stable during the original development of ARel.

O/R Mappers are difficult. The more ambitious, the more difficult, and DM is very ambitious. ;-)

I can say it had absolutely nothing to do with ego. There was a actually a point ARel was seriously considered as the basis for the DM query API.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: