Handlebars-vs-Mini-Handlebars
JavaScript performance comparison
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, v, _data, _k, _ref;
out = '';
_ref = data[enumerable];
for (k in _ref) {
if (!__hasProp.call(_ref, k)) continue;
v = _ref[k];
_data = {};
for (_k in v) {
if (!{}.hasOwnProperty(v, _k)) {
_data[_k] = v[_k];
}
}
if (typeof key !== 'undefined') {
_data[key] = k;
}
if (typeof value !== 'undefined') {
_data[value] = v;
}
out += mini.render(template, _data);
}
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.
| Test | Ops/sec | |
|---|---|---|
Handlebars |
|
pending… |
Mini-Handlebars |
|
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:
- Revision 1: published by Mike Smullin
- Revision 2: published by Mike Smullin
- Revision 3: published by Mike Smullin
- Revision 4: published by Mike Smullin
0 comments