Backbone relational adds a great deal of indirection and overhead to deal with relations, especially on set calls. This is not a big deal for a user clicking around on screens, but Ben found out when you're doing this same work on the node server when there are potentially hundreds or thousands of gets and sets happening in rapid succession it really slows things down in a big way. And the worst thing was, node wasn't even using relations at all. Node needs the state control and other parts to handle crud processing on postgres but that's all. So modelmixin and simplemodel were built so node could use most of the same processing techniques as the client, without the overhead of backbone relation. After that, the performance issues on node were resolved.

Sent from my iPad

> On Feb 16, 2014, at 1:19 PM, Travis Webb <notifications@github.com> wrote:
> 
> In lib/backbone-x/source/model.js:
> 
> >  
> > -  });
> > +  /**
> > +   * @deprecated
> > +   * XXX #refactor this appears vestigial. moved from simple_model.js
> > +   */
> > +  XM.SimpleModel = XM.Model;
> https://github.com/xtuple/xtuple/blob/master/lib/backbone-x/source/simple_model.js#L40
> 
> Can you explain this concept of "heaviness"?
> 
> —
> Reply to this email directly or view it on GitHub.