jsPerf.app is an online JavaScript performance benchmark test runner & jsperf.com mirror. It is a complete rewrite in homage to the once excellent jsperf.com now with hopefully a more modern & maintainable codebase.
jsperf.com URLs are mirrored at the same path, e.g:
https://jsperf.com/negative-modulo/2
Can be accessed at:
https://jsperf.app/negative-modulo/2
A brief comparison of some JavaScript templating engines on a short template: 6 header tags, and 10 list items.
Added doT, doU and jQote2 to benchmarks.
Added "client: true" to jade. And add recent commit where this is possible.
<script src="https://raw.github.com/visionmedia/jade/b69aea3c1c0f93419d1d87f74f24c9dcee33fcdd/jade.js"></script>
<script>
console.log(require)
window.jade = require('jade');
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']
};
window.jupTemplate = ['div', ['h1',
{
'class': 'header'
}, "{{header}}"],
['h2',
{
'class': 'header2'
}, "{{header2}}"],
['h3',
{
'class': 'header3'
}, "{{header3}}"],
['h4',
{
'class': 'header4'
}, "{{header4}}"],
['h5',
{
'class': 'header5'
}, "{{header5}}"],
['h6',
{
'class': 'header6'
}, "{{header6}}"],
['ul',
{
'class': 'list'
}, ['li',
{
'class': 'item'
}, '{{list}}'],
['li',
{
'class': 'item'
}, '{{list}}'],
['li',
{
'class': 'item'
}, '{{list}}'],
['li',
{
'class': 'item'
}, '{{list}}'],
['li',
{
'class': 'item'
}, '{{list}}'],
['li',
{
'class': 'item'
}, '{{list}}'],
['li',
{
'class': 'item'
}, '{{list}}'],
['li',
{
'class': 'item'
}, '{{list}}'],
['li',
{
'class': 'item'
}, '{{list}}'],
['li',
{
'class': 'item}'
}, '{{list}}']
]
];
window.jadeTemplate = "div\n h1.header!= header\n h2.header2!= header2\n h3.header3!= header3\n h4.header4!= header4\n h5.header5!= header5\n h6.header6!= header6\n ul.list\n - each item in list\n li.item!= item";
</script>Ready to run.
| Test | Ops/sec | |
|---|---|---|
| Mustache.js Template | | ready |
| Resig Micro-Templating. | | ready |
| Creationix's Haml-js Template | | ready |
| Jade Template | | ready |
| JUP Template | | ready |
| Underscore.js Template | | ready |
| Eco Template | | ready |
| jQuery Templates | | ready |
| Handlebars.js | | ready |
| doT.js | | ready |
| doU.js | | ready |
| jQote2 direct | | ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.