At first glance it seems that template rendering is a key point here (render-as-a-string vs. dom-manipulation). However, if you change the backbone implementation to use dom manipulation (http://jsfiddle.net/jqSK2/) it performs just as well (or better, depending on the browser). Backbone's event system is much more important in this comparison.