doT.js vs Mustache.js vs plain html
JavaScript performance comparison
Info
Appending HTML to the page with doT, Mustache and native Javascript
Preparation code
<script src="http://github.com/janl/mustache.js/raw/master/mustache.js"></script>
<script src="https://github.com/olado/doT/raw/master/doT.js"></script>
<script>
window.sharedVariables = {
'header': "Header",
'header2': "Header2",
'header3': "Header3",
'header4': "Header4",
'header5': "Header5",
'header6': "Header6",
'list': [
'1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
'1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
'1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
'1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
'1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
'1', '2', '3', '4', '5', '6', '7', '8', '9', '10'
]
};
window.mustacheTemplate = "<div><h1 class='header'>{{header}}</h1><h2 class='header2'>{{header2}}</h2><h3 class='header3'>{{header3}}</h3><h4 class='header4'>{{header4}}</h4><h5 class='header5'>{{header5}}</h5><h6 class='header6'>{{header6}}</h6><ul class='list'>{{#list}}<li class='item'>{{.}}</li>{{/list}}</ul></div>";
window.doTtemplate = doT.template("<div><h1 class='header'>{{=it.header}}</h1><h2 class='header2'>{{=it.header2}}</h2><h3 class='header3'>{{=it.header3}}</h3><h4 class='header4'>{{=it.header4}}</h4><h5 class='header5'>{{=it.header5}}</h5><h6 class='header6'>{{=it.header6}}</h6><ul class='list'>{{ for (var i = 0, l = it.list.length; i < l; i++) { }}<li class='item'>{{=it.list[i]}}</li>{{ } }}</ul></div>");
var result = document.getElementById('result');
</script>
<style>#result {display:none;}</style>
<div id="result"></div>
Preparation code output
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
| Test | Ops/sec | |
|---|---|---|
doT |
|
pending… |
mustache |
|
pending… |
plain html |
|
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 foo bar
- Revision 3: published by pratap
- Revision 4: published by pratap
- Revision 5: published by Pratap
- Revision 7: published
- Revision 9: published
- Revision 10: published
- Revision 12: published
- Revision 15: published
- Revision 16: published by Laura Doktorova
- Revision 17: published
- Revision 18: published
- Revision 19: published
- Revision 21: published by meikidd
- Revision 22: published
1 comment
GOOD ONE