t-bench2 (v17)

Revision 17 of this benchmark created on


Description

More complicated mustache

Preparation HTML

<script src="https://github.com/downloads/wycats/handlebars.js/handlebars-1.0.0.beta.6.js">
</script>
<script src="http://twitter.github.com/hogan.js/builds/1.0.3/hogan.js">
</script>
<script src="http://github.com/janl/mustache.js/raw/master/mustache.js">
</script>

Setup

var template = "<strong>This is a slightly more complicated {{thing}}.</strong>.\n{{! Just ignore this business. }}\nCheck this out:\n{{#hasThings}}\n<ul>\n{{#things}}\n<li class={{className}}>{{word}}</li>\n{{/things}}</ul>.\n{{/hasThings}}\n{{^hasThings}}\n\n<small>Nothing to check out...</small>\n{{/hasThings}}";
    
    var context = {
      thing: function() {
        return "blah";
      },
      things: [{
        "className": "one",
        word: "@fat"
      }, {
        "className": "two",
        word: "@dhg"
      }, {
        "className": "three",
        word: "@sayrer"
      }],
      hasThings: true
    };
    
    var handlebarsRenderer = Handlebars.compile(template);
    var hoganRenderer = Hogan.compile(template);
    var mustacheRenderer = Mustache.compile(template);
    var mustacheContext = new Context.make(context);

Test runner

Ready to run.

Testing in
TestOps/sec
Handlebars
handlebarsRenderer(context);
ready
Hogan
hoganRenderer.render(context);
ready
Mustache
Mustache.to_html(template, context);
ready
Mustache render
Mustache.render(template, context);
ready
Mustache compile
mustacheRenderer(context);
ready
mustache context
mustacheRenderer(mustacheContext);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.