
Making ActiveResource 34x faster: QActiveResource - wheels
http://blog.directededge.com/2010/05/06/making-activeresource-34x-faster-qactiveresource/
======
wheels
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

------
sad
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!

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

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

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

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

------
stretchwithme
The right tool for the right job.

~~~
Legion
And sometimes, you have to make that tool yourself.

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

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

