Handlebars-vs-Mini-Handlebars

JavaScript performance comparison

Revision 4 of this test case created by Mike Smullin

Info

benching my minimalist alternative to the official lib

Preparation code

<script src="http://cloud.github.com/downloads/wycats/handlebars.js/handlebars-1.0.rc.1.js"></script>
<script src="https://raw.github.com/mikesmullin/mini-handlebars/production/js/mini-handlebars.js"></script>
<script>
Benchmark.prototype.setup = function() {
    mini = new MiniHandlebars({
      locals: {
        each: function(template, data, enumerable, key, value) {
          var k, out = '';
          for (k in data[enumerable]) {
            out += mini.render(template, { 'this': data[enumerable][k] });
          }
          return out;
        }
      }
    });
   
    var source   = '<ul class="people_list">\n{{#each people}}\n<li>{{this}}</li>\n{{/each}}\n</ul>';
   
    var template = '<ul class="people_list">\n{{each people}}\n<li>{{this}}</li>\n{{/each}}\n</ul>';
   
    var data = {
      people: ["Yehuda Katz", "Alan Johnson", "Charles Jolley"]
    };
};
</script>

Preparation code output

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
Handlebars
Handlebars.compile(source)(data);
 
pending…
Mini-Handlebars
mini.render(template, data);
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment