Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Making ActiveResource 34x faster: QActiveResource (directededge.com)
68 points by wheels on May 6, 2010 | hide | past | favorite | 10 comments


As a side note, I managed to drop it into an existing ActiveResource-using app with this code:

  module HashAccessor
    def method_missing(method)
      value = self[method] || self[method.to_s]
      raise NoMethodError.new unless value
      value
    end
  end

  Hash.send :include, HashAccessor

  module ActiveResource
    class Base
      def self.find(from=nil, params={})
        resource = from == :all ? self.collection_name : self.element_name
        values = QAR::Resource.new(self.site.to_s, resource).find(from, params)
      end
    end
  end


What an awesome marriage of Qt and Ruby. Two of my favorite languages and toolkits used appropriately to solve a real problem.

Well done! And thank you for open sourcing this.

Well done!


whats Qt ? If I google I get a GUI platform from Nokia. I guess Qt being referred here is different ?


Qt's a pretty general toolkit for C++ applications – a pretty huge chunk of it has nothing to do with GUI programming (and what, for instance, the KDE desktop and associated tools are built on):

http://doc.qt.nokia.com/4.6/classes.html

It was fairly recent that Nokia bought them; before that Trolltech was an independant company.


It's a kickass toolkit (and my toolkit of choice) for cross-platform desktop apps. Just keep in mind that it's GPL licensed for free apps and that the commercial license is expensive for a one-man shop.


Qt is also available under LGPL 2.1. See http://qt.nokia.com/products/licensing for details.


The right tool for the right job.


And sometimes, you have to make that tool yourself.


As somebody who has dealt with ActiveResource in a production environment, thank-you!

My company noticed an absolutely whopping performance boost when we dropped XML in favor of JSON for a transport format, fwiw. Ruby has quite possibly the slowest XML parsing libraries on the block (even when you wrap libxml), and we avoid parsing XML at all costs now.


Qt is an excellent platform for building things, this is another demonstration of that.

More people should look at it. Even the datastructures are pretty much a joy to use.




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

Search: