JavaScript template language shootoff
JavaScript performance comparison
Preparation code
<script src="http://alterform.com/aui/lib/yui-combo/combo.php?./../../build/yui/yui-min.js&./../../build/aui-base/aui-base-min.js&./../../build/oop/oop.js&./../../build/event-custom-base/event-custom-base.js&./../../build/event-custom-complex/event-custom-complex.js&./../../build/intl/intl.js&./../../build/dom-core/dom-core.js&./../../build/dom-base/dom-base.js&./../../build/selector-native/selector-native.js&./../../build/selector/selector.js&./../../build/node-core/node-core.js&./../../build/node-base/node-base.js&./../../build/event-base/event-base.js&./../../build/event-delegate/event-delegate.js&./../../build/event-synthetic/event-synthetic.js&./../../build/event-mousewheel/event-mousewheel.js&./../../build/event-mouseenter/event-mouseenter.js&./../../build/event-key/event-key.js&./../../build/event-focus/event-focus.js&./../../build/event-resize/event-resize.js&./../../build/event-hover/event-hover.js&./../../build/event-outside/event-outside.js&./../../build/node-event-delegate/node-event-delegate.js&./../../build/pluginhost-base/pluginhost-base.js&./../../build/pluginhost-config/pluginhost-config.js&./../../build/node-pluginhost/node-pluginhost.js&./../../build/dom-style/dom-style.js&./../../build/dom-screen/dom-screen.js&./../../build/node-screen/node-screen.js&./../../build/node-style/node-style.js&./../../build/classnamemanager/classnamemanager.js&./../../build/aui-classnamemanager/aui-classnamemanager.js&./../../build/aui-node/aui-node-base.js&./../../build/array-extras/array-extras.js&./../../build/arraylist/arraylist.js&./../../build/arraylist-add/arraylist-add.js&./../../build/arraylist-filter/arraylist-filter.js&./../../build/array-invoke/array-invoke.js&./../../build/attribute-base/attribute-base.js&./../../build/attribute-complex/attribute-complex.js&./../../build/base-base/base-base.js&./../../build/base-pluginhost/base-pluginhost.js&./../../build/widget-base/widget-base.js&./../../build/widget-htmlparser/widget-htmlparser.js&./../../build/widget-uievents/widget-uievents.js&./../../build/widget-skin/widget-skin.js&./../../build/aui-component/aui-component.js&./../../build/aui-debounce/aui-debounce.js&./../../build/aui-delayed-task/aui-delayed-task.js&./../../build/selector-css2/selector-css2.js&./../../build/selector-css3/selector-css3.js&./../../build/aui-selector/aui-selector.js&./../../build/aui-event/aui-event-base.js&./../../build/yui-throttle/yui-throttle.js&./../../build/aui-node/aui-node-html5.js&./../../build/aui-node/aui-node-html5-print.js&./../../build/aui-template/aui-template.js"></script>
<script src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
<script src="http://github.com/jquery/jquery-tmpl/raw/master/jquery.tmpl.min.js"></script>
<script src="http://github.com/aefxx/jQote2/raw/69b2053a13f5f180e696de9b3dba856a3c00678c/jquery.jqote2.js"></script>
<script src="http://documentcloud.github.com/underscore/underscore.js"></script>
<script src="http://github.com/hij1nx/JUP/raw/master/lib/jup.js"></script>
<script src="http://github.com/janl/mustache.js/raw/master/mustache.js"></script>
<script src="http://gist.github.com/raw/550881/29bb186167079c0b33ab6e9d50d779f37860cfa4/micro.js"></script>
<script src="http://github.com/creationix/haml-js/raw/master/lib/haml.js"></script>
<script src="http://gist.github.com/raw/550723/12d176698628e30a1df398c7ac7aea93924e1294/jade.js"></script>
<script src="http://jashkenas.github.com/coffee-script/extras/coffee-script.js"></script>
<script src="http://sstephenson.github.com/eco/dist/eco.js"></script>
<script src="https://raw.github.com/xj9/htmlbuilder/master/wildebeest.js"></script>
<script src="https://github.com/visionmedia/ejs/raw/master/ejs.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0.beta2/handlebars.min.js"></script>
<script src="https://github.com/olado/doT/raw/master/doT.js"></script>
<script src="http://akdubya.github.com/dustjs/dist/dust-full-0.3.0.min.js"></script>
<script>
window.ALLOY = AUI({fetchCSS: false}).use('aui-template');
window.auiTemplate = new ALLOY.Template('<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"><tpl for="list"><li class="item">{.}</li></tpl></ul></div>');
window.handlebarsTemplate = Handlebars.compile("<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.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.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.micro = "<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'><% for (var i = 0, l = list.length; i < l; i++) { %><li class='item'><%= list[i] %></li><% } %></ul></div>";
window.underscoreTemplate = _.template(micro);
window.resigTemplate = tmpl(micro);
window.ejsTmpl = require("ejs").compile(window.micro)
window.jqote_tmpl = "<div><h1 class='header'><%= this.header %></h1><h2 class='header2'><%= this.header2 %></h2><h3 class='header3'><%= this.header3 %></h3><h4 class='header4'><%= this.header4 %></h4><h5 class='header5'><%= this.header5 %></h5><h6 class='header6'><%= this.header6 %></h6><ul class='list'><% for (var n = 0, l = this.list.length; n < l; n++) { %><li class='item'><%= this.list[n] %></li><% } %></ul></div>";
window.jqote2 = $.jqotec(jqote_tmpl);
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";
window.hamlTemplate = Haml("%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");
jade.render(jadeTemplate, {
locals: sharedVariables,
filename: 'test.js',
cache: true
});
window.ecoTemplate = eco("<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'><% for item in @list: %><li class='item'><%- item %></li><% end %></ul></div>");
window.wildebeestTemplate = "<h1>{{ header }}</h1><h2>{{ header2 }}</h2><h3>{{ header3 }}</h3><h4>{{ header4 }}</h4><h5>{{ header5 }}</h5><h6>{{ header6 }}</h6><ul>{{ /list list }}</ul>";
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>");
doT.templateSettings.append=false;
window.doTtemplateAppendFalse = 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>");
window.jqueryTemplate = "<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'>{{each list}}<li class='item'>{{this}}</li>{{/each}}</ul></div>";
window.jqueryTmpl = jQuery.template("test", window.jqueryTemplate);
dust.loadSource(dust.compile("<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>", "dustTemplate"));
//this seems to be the fastest
function pic(template) {
template = template.replace(/[\n'\\]/g, '\\$&');
template = template.replace(/\{(\w*)\}/g, function(str, key) {
return "'+d['" + key + "']+'";
});
return new Function("d", "return '" + template + "'");
}
var tmpl=<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></div>";
window.Pico_Template = pic(tmpl);
</script>
Preparation code output
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
Test | Ops/sec | |
---|---|---|
Mustache.js
|
|
pending… |
Resig Micro-Templating
|
|
pending… |
Creationix's Haml-js
|
|
pending… |
Jade
|
|
pending… |
JUP
|
|
pending… |
Underscore.js
|
|
pending… |
Eco
|
|
pending… |
Wildebeest
|
|
pending… |
jQuery.tmpl
|
|
pending… |
EJS
|
|
pending… |
AlloyUI Template
|
|
pending… |
Handlebars.js Template
|
|
pending… |
doT.js
|
|
pending… |
doT.js append false
|
|
pending… |
Pico_Template
|
|
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.
- Revision 1: published Jeremy Ashkenas
- Revision 3: published Jeremy Ashkenas
- Revision 6: published
- Revision 7: published bradleymeck
- Revision 8: published
- Revision 9: published Jeremy Ashkenas
- Revision 11: published Sam Stephenson
- Revision 13: published Sam Stephenson
- Revision 14: published bradleymeck
- Revision 15: published Jeremy Ashkenas
- Revision 17: published Jeremy Ashkenas
- Revision 20: published Sam Stephenson
- Revision 22: published Jeremy Ashkenas
- Revision 25: published Carlos Killpack
- Revision 28: published aefxx
- Revision 30: published GregWa
- Revision 32: published Carlos Killpack
- Revision 33: published Schuyler D
- Revision 42: published Schuyler D
- Revision 44: published Schuyler D
- Revision 45: published Jeremy Ashkenas
- Revision 47: published Paul Sadauskas
- Revision 48: published Yehuda Katz
- Revision 52: published Laura Doktorova
- Revision 53: published Laura Doktorova
- Revision 55: published Jacob Chapel
- Revision 56: published Jacob Chapel
- Revision 57: published Mic
- Revision 59: published Jeremy Ashkenas
- Revision 62: published Jacob Chapel
- Revision 63: published Jeremy Ashkenas
- Revision 64: published
- Revision 67: published Jeremy Ashkenas
- Revision 70: published
- Revision 73: published Jeremy Ashkenas
- Revision 76: published Michael Paul
- Revision 77: published Heitor Salazar Baldelli
- Revision 78: published aefxx
- Revision 79: published aefxx
- Revision 80: published Marijn
- Revision 81: published Manu
- Revision 82: published
- Revision 83: published Boris Moore
- Revision 84: published Jörn Zaefferer
- Revision 85: published tsvetomir
- Revision 88: published VasiliyS
- Revision 89: published AndrewF
- Revision 90: published Atanas Korchev
- Revision 91: published
- Revision 92: published
- Revision 94: published tsvetomir
- Revision 95: published AndrewF
- Revision 96: published AndrewF
- Revision 97: published foo
- Revision 99: published AndrewF
- Revision 100: published pvande
- Revision 103: published Andrew Petersen
- Revision 104: published
- Revision 105: published Premasagar Rose
- Revision 106: published tmpvar
- Revision 111: published Premasagar Rose
- Revision 112: published Jeremy Ashkenas
- Revision 113: published
- Revision 114: published Johann Chiang
- Revision 115: published
- Revision 117: published
- Revision 118: published AndrewF
- Revision 120: published
- Revision 121: published
- Revision 128: published
- Revision 131: published
- Revision 133: published Joel Hughes
- Revision 135: published Arxisos
- Revision 136: published Murmeli
- Revision 137: published Murmeli
- Revision 138: published
- Revision 139: published QLeelulu
- Revision 142: published QLeelulu
- Revision 143: published QLeelulu
- Revision 144: published Shaun
- Revision 146: published Schuyler D
- Revision 153: published Andrew Petersen
- Revision 154: published
- Revision 155: published
- Revision 156: published Tim Farland
- Revision 157: published Kevin Decker
- Revision 159: published Lloyd Cotten
- Revision 160: published Daniel Lindsley
- Revision 162: published Esteban Corrales
- Revision 163: published Boris Moore
- Revision 164: published
- Revision 165: published ben
- Revision 166: published ben
- Revision 168: published Sacah
- Revision 172: published gt
- Revision 173: published
- Revision 174: published rwb
- Revision 175: published Joel 'Rudenoise' Hughes
- Revision 177: published payload
- Revision 179: published
- Revision 180: published
- Revision 181: published
- Revision 182: published
- Revision 183: published
- Revision 184: published
- Revision 185: published
- Revision 187: published EB
- Revision 188: published
- Revision 189: published Todd Anglin
- Revision 190: published
- Revision 191: published Chris Kihneman
- Revision 192: published Chris Kihneman
- Revision 193: published
- Revision 194: published
- Revision 195: published
- Revision 196: published
- Revision 197: published flo
- Revision 198: published
- Revision 199: published
- Revision 200: published Todd Anglin
- Revision 201: published Laura Doktorova
- Revision 202: published
- Revision 204: published Todd Anglin
- Revision 205: published Dave Tonge
- Revision 207: published Vijayakrishna
- Revision 208: published Vijayakrishna
- Revision 209: published
- Revision 210: published Refael Ackermann
- Revision 211: published Nate Cavanaugh and last updated
- Revision 214: published Laura Doktorova
- Revision 215: published
- Revision 217: published Todd Anglin
- Revision 231: published
- Revision 233: published Jaap Dunnebier
- Revision 234: published Mihai Bazon and last updated
- Revision 243: published
- Revision 244: published jsPop
- Revision 245: published jsPop
- Revision 246: published
- Revision 247: published Nate Cavanaugh
- Revision 249: published Garrick
- Revision 250: published
- Revision 253: published
- Revision 254: published Lance Pollard
- Revision 256: published jsPop
- Revision 257: published
- Revision 258: published jsPop
- Revision 259: published jsPop
- Revision 261: published Robert Oswald
- Revision 264: published Chris Dickinson
- Revision 265: published Chris Dickinson
- Revision 267: published
- Revision 268: published
- Revision 269: published
- Revision 271: published Joshua Holbrook
- Revision 272: published
- Revision 273: published Gabriel Farrell
- Revision 275: published
- Revision 277: published Juri
- Revision 281: published Kelly Miyashiro
- Revision 282: published Michael Kessler
- Revision 283: published Sebastian Tschan
- Revision 284: published Michael Kessler
- Revision 285: published Sebastian Tschan
- Revision 286: published Todd Anglin
- Revision 287: published
- Revision 290: published
- Revision 291: published Danny
- Revision 292: published Chris Dickinson
- Revision 295: published ali: removed cheating benchmarks
- Revision 296: published Fabiano Nunes
- Revision 297: published
- Revision 298: published
- Revision 299: published
- Revision 300: published nakamura_to
- Revision 303: published
- Revision 305: published Attila
- Revision 306: published nakamura_to
- Revision 308: published mrchief
- Revision 309: published Joshua T Kalis
- Revision 311: published Dony
- Revision 312: published redsquare
- Revision 314: published Chris Dickinson
- Revision 315: published
- Revision 316: published Jens Roland
- Revision 318: published Jens and last updated
- Revision 319: published Jens Roland
- Revision 320: published
- Revision 321: published
- Revision 323: published
- Revision 324: published
- Revision 325: published Jeff Barczewski
- Revision 327: published
- Revision 333: published
- Revision 334: published
- Revision 335: published
- Revision 337: published Marek
- Revision 338: published Jakub
- Revision 339: published
- Revision 341: published
- Revision 342: published
- Revision 343: published Keets
- Revision 344: published
- Revision 346: published
- Revision 348: published
- Revision 349: published
- Revision 350: published
- Revision 352: published Grant Husbands
- Revision 353: published [Now produces DOM nodes]
- Revision 354: published [Added Twitter's Hogan]
- Revision 356: published Ryan Funduk
- Revision 357: published [Restored benchmarks that work]
- Revision 359: published [Defeat jQuery cache]
- Revision 361: published
- Revision 363: published
- Revision 364: published [Restored working benchmarks - please stop breaking things]
- Revision 365: published Jarno Keskikangas
- Revision 366: published Jarno Keskikangas
- Revision 369: published Ryan Funduk
- Revision 370: published RubaXa
- Revision 373: published
- Revision 374: published
- Revision 375: published Vadim M. Baryshev
- Revision 377: published
- Revision 379: published
- Revision 380: published Matt Robenolt and last updated
- Revision 381: published hite
- Revision 382: published
- Revision 383: published
- Revision 384: published
- Revision 385: published
- Revision 386: published
- Revision 387: published Juve
- Revision 388: published Ronald Holshausen
- Revision 389: published Brandon Satrom
- Revision 390: published Brad Dunbar
- Revision 391: published
- Revision 392: published Brad Dunbar
- Revision 393: published
- Revision 394: published leodagdag
- Revision 395: published
- Revision 400: published [jsRender won through incorrect output - removed]
- Revision 401: published [jQuery was caching - now defeated]
- Revision 402: published
- Revision 404: published
- Revision 405: published [Please stop restoring broken benchmarks]
- Revision 406: published
- Revision 407: published
- Revision 408: published
- Revision 409: published
- Revision 410: published
- Revision 411: published [added JsRender, non-optimized API, correct output]
- Revision 412: published
- Revision 413: published
- Revision 414: published
- Revision 415: published
- Revision 416: published
- Revision 417: published
- Revision 418: published Sergey Kononenko
- Revision 419: published
- Revision 420: published Vincent Mac
- Revision 421: published
- Revision 422: published
- Revision 423: published
- Revision 425: published
- Revision 427: published [Restored benchmarks that actually run]
- Revision 428: published
- Revision 429: published
- Revision 430: published
- Revision 431: published Marcus Greenwood
- Revision 432: published
- Revision 433: published
- Revision 437: published
- Revision 438: published work
- Revision 439: published work2
- Revision 440: published work3
- Revision 441: published Saabi
- Revision 442: published TJ
- Revision 443: published Saabi
- Revision 444: published TJ
- Revision 445: published Saabimeister
- Revision 447: published RC
- Revision 449: published Saabimeister
- Revision 452: published
- Revision 453: published Andrey
- Revision 456: published [Corrected async dust.js]
- Revision 457: published yui sub
- Revision 458: published
- Revision 460: published Jarno Keskikangas
- Revision 461: published
- Revision 462: published Mikko Ohtamaa
- Revision 463: published stepanj
- Revision 466: published
- Revision 467: published
- Revision 468: published
- Revision 469: published
- Revision 470: published
- Revision 471: published
- Revision 473: published
- Revision 474: published asyraf
- Revision 475: published
- Revision 478: published Jeremy Ashkenas
- Revision 479: published and last updated
- Revision 480: published
- Revision 481: published Fernando Cardoso
- Revision 482: published
- Revision 483: published
- Revision 485: published Nir
- Revision 486: published
- Revision 488: published Charlie Stigler
- Revision 489: published stepanj
- Revision 490: published
- Revision 491: published
- Revision 492: published
- Revision 493: published tom
- Revision 494: published
- Revision 495: published stepanj
- Revision 497: published
- Revision 498: published Charlie Stigler
- Revision 499: published
- Revision 501: published [Restored last working version]
- Revision 503: published [It's best if the tests actually run]
- Revision 507: published [Dust output was incorrect]
- Revision 508: published
- Revision 509: published Todd
- Revision 510: published
- Revision 511: published
- Revision 512: published RC
- Revision 513: published
- Revision 515: published Diego Vilar
- Revision 516: published glek
- Revision 517: published kusakyky
- Revision 518: published
- Revision 519: published
- Revision 520: published
- Revision 521: published
- Revision 522: published
- Revision 523: published imbolc
- Revision 524: published
- Revision 526: published
- Revision 527: published
- Revision 528: published odbol and last updated
- Revision 529: published stepanj
- Revision 531: published Michael Kessler
- Revision 532: published Jerome
- Revision 534: published Joel "Rudenoise" Hughes
- Revision 535: published Victor
- Revision 537: published Vadim Baryshev
- Revision 539: published Vadim Baryshev
- Revision 541: published Thox
- Revision 543: published Joaquin Arellano
- Revision 544: published Joaquin Arellano
- Revision 545: published [Removed tests that did not produce correct output - benchmark still unrealistic]
- Revision 546: published Joaquin Arellano
- Revision 547: published
- Revision 548: published
- Revision 549: published
- Revision 550: published Andrey
- Revision 553: published printercu
- Revision 554: published
- Revision 555: published Updated Kendo to latest
- Revision 560: published Paul Engel
- Revision 561: published
- Revision 562: published
- Revision 564: published Trevor Norris and last updated
- Revision 565: published
- Revision 566: published
- Revision 568: published Indamix
- Revision 569: published Indamix
- Revision 570: published Anton
- Revision 571: published
- Revision 572: published
- Revision 573: published
- Revision 574: published Alexey Chirkov
- Revision 575: published Alexey Chirkov
- Revision 576: published
- Revision 577: published Alexey Chirkov
- Revision 578: published
- Revision 579: published
- Revision 581: published desire
- Revision 582: published
- Revision 583: published Nate Cavanaugh
- Revision 584: published Nate Cavanaugh
- Revision 585: published Nicolas Joyard
- Revision 586: published koala
- Revision 587: published
- Revision 588: published koala
- Revision 591: published
- Revision 592: published huang47
- Revision 597: published Adam
- Revision 598: published
- Revision 600: published Tingan Ho
- Revision 601: published
- Revision 602: published
- Revision 603: published tenbits
- Revision 604: published tenbits
- Revision 605: published
- Revision 606: published
- Revision 607: published Vadim Baryshev
- Revision 609: published
- Revision 615: published
- Revision 616: published
- Revision 617: published
- Revision 618: published
- Revision 619: published
- Revision 620: published
- Revision 621: published
- Revision 622: published
- Revision 623: published
- Revision 624: published
- Revision 625: published
- Revision 626: published Qichao Yang
- Revision 628: published Jason Miller
- Revision 635: published
- Revision 636: published
- Revision 638: published
- Revision 639: published Andras
- Revision 643: published
- Revision 644: published
- Revision 645: published
- Revision 646: published
- Revision 647: published
- Revision 649: published
- Revision 651: published akamel
- Revision 652: published
- Revision 653: published rocman
- Revision 654: published rocman
- Revision 656: published
- Revision 660: published
- Revision 661: published bear
- Revision 662: published
- Revision 665: published Warren Benedetto and last updated
- Revision 666: published Warren Benedetto
- Revision 668: published
- Revision 669: published
- Revision 670: published tenbits
- Revision 671: published printercu
- Revision 672: published
- Revision 687: published
- Revision 688: published
- Revision 692: published
- Revision 694: published Mario
- Revision 695: published
- Revision 697: published
- Revision 698: published
- Revision 699: published
- Revision 700: published wfreytag
- Revision 701: published wfreytag
- Revision 703: published
- Revision 704: published
- Revision 705: published jQuery 2.0 & lodash
- Revision 706: published Alex Fork
- Revision 707: published Ferdinand Prantl
- Revision 708: published
- Revision 709: published
- Revision 710: published
- Revision 711: published
- Revision 712: published Roman
- Revision 713: published Roman
- Revision 714: published Roman
- Revision 715: published Roman
- Revision 716: published Roman
- Revision 717: published Roman
- Revision 718: published
- Revision 719: published
- Revision 720: published Roman
- Revision 721: published Roman
- Revision 722: published
- Revision 723: published
- Revision 724: published
- Revision 725: published
- Revision 726: published
- Revision 727: published George Reith
- Revision 728: published George Reith
- Revision 729: published Aaron Aichlmayr
- Revision 730: published Jorge Gonzalez
- Revision 731: published
- Revision 732: published
- Revision 733: published
- Revision 735: published Angel Lai
- Revision 736: published
- Revision 739: published itsnotlupus
- Revision 740: published Drew Wilson
- Revision 741: published
- Revision 743: published
- Revision 744: published
- Revision 745: published Pat Cavit
- Revision 746: published Ryan Grove
- Revision 747: published
- Revision 748: published Angel Lai
- Revision 749: published
- Revision 752: published
- Revision 756: published
- Revision 758: published Moe
- Revision 759: published Moe
- Revision 760: published
- Revision 761: published
- Revision 762: published shiva
- Revision 763: published max
- Revision 767: published
- Revision 769: published Joe
- Revision 770: published Joe
- Revision 771: published
- Revision 772: published
- Revision 774: published
- Revision 775: published
- Revision 776: published amrutha
- Revision 777: published
- Revision 778: published
- Revision 780: published
- Revision 782: published Naman
- Revision 783: published ghostCoder
- Revision 784: published
- Revision 787: published
- Revision 788: published
- Revision 789: published
- Revision 792: published Faraz
- Revision 793: published
- Revision 794: published Drew Wilson
- Revision 795: published
- Revision 796: published jiyinyiyong
- Revision 797: published Gary Green
- Revision 798: published Joshua Thornton
- Revision 799: published
- Revision 800: published
- Revision 802: published Omnilord
- Revision 803: published
- Revision 804: published
- Revision 805: published
- Revision 806: published
- Revision 807: published Anonymous
- Revision 808: published
- Revision 812: published
- Revision 816: published
- Revision 828: published
- Revision 829: published
- Revision 830: published Túbal
- Revision 831: published Ryan Lauck
- Revision 832: published Jeferson Daniel
- Revision 833: published Jeferson Daniel
- Revision 835: published Jeferson Daniel
- Revision 836: published Ryan Lauck
- Revision 838: published
- Revision 839: published Barney
- Revision 843: published
- Revision 844: published
- Revision 845: published
- Revision 846: published
- Revision 851: published Mark Johnson
- Revision 852: published
- Revision 853: published
- Revision 854: published
- Revision 855: published Sean Cady
- Revision 856: published Letian Zhang
- Revision 857: published Letian Zhang
- Revision 858: published
- Revision 859: published
- Revision 860: published
- Revision 861: published
- Revision 862: published
- Revision 863: published
- Revision 864: published
- Revision 865: published
- Revision 866: published
- Revision 867: published
- Revision 868: published hsiaosiyuan
- Revision 869: published hsiaosiyuan
- Revision 871: published
- Revision 873: published Hypermedia
- Revision 875: published
- Revision 878: published Eamon Nerbonne
- Revision 879: published Jule
- Revision 884: published
- Revision 885: published
- Revision 886: published
- Revision 887: published
- Revision 888: published
- Revision 889: published
- Revision 890: published Veda B
- Revision 891: published Veda B
- Revision 892: published Veda B
- Revision 893: published Veda B
- Revision 894: published Brandon Papworth
- Revision 895: published Heavensrevenge
- Revision 896: published Heavensrevenge
- Revision 897: published kcathode
- Revision 898: published Eamon Nerbonne
- Revision 899: published
- Revision 900: published
- Revision 901: published
- Revision 902: published
- Revision 904: published
- Revision 905: published Hypermedia
- Revision 906: published
- Revision 910: published
- Revision 911: published
- Revision 912: published Brandon Papworth
- Revision 913: published Brandon Papworth
- Revision 914: published Brandon Papworth
- Revision 915: published Brandon Papworth
- Revision 916: published Brandon Papworth
- Revision 917: published Brandon Papworth
- Revision 918: published Brandon Papworth
- Revision 919: published Brandon Papworth
- Revision 920: published Brandon Papworth
- Revision 921: published Brandon Papworth
- Revision 922: published Brandon Papworth
- Revision 925: published
- Revision 926: published
- Revision 927: published
- Revision 929: published
- Revision 933: published Adrian Sieber
- Revision 934: published Siarhei Melnik
- Revision 935: published Christian Stuff
- Revision 937: published Stefano Azzolini
- Revision 939: published
- Revision 940: published OpenGG
- Revision 941: published Lance Taylor
- Revision 942: published Lance Taylor
- Revision 943: published
- Revision 945: published
- Revision 946: published
- Revision 947: published Victor
- Revision 948: published mcmurphy
- Revision 949: published
- Revision 950: published
- Revision 951: published
- Revision 953: published
- Revision 954: published
- Revision 955: published
- Revision 956: published
- Revision 957: published
- Revision 958: published ryan
- Revision 959: published
- Revision 960: published
- Revision 961: published
- Revision 962: published
- Revision 964: published
- Revision 965: published
- Revision 966: published
- Revision 967: published dimzon541
- Revision 970: published leo
- Revision 972: published
- Revision 973: published
- Revision 974: published
- Revision 975: published Davsket
- Revision 976: published Flynn.T
- Revision 977: published Flynn.T
- Revision 978: published Flynn.T
- Revision 979: published
- Revision 981: published tonilab
- Revision 982: published Cang
- Revision 983: published Nikos M. and last updated
- Revision 984: published Kingkong
- Revision 985: published Kingkong and last updated
- Revision 986: published Nikos M. and last updated
- Revision 987: published Nikos M.
- Revision 992: published
- Revision 994: published
- Revision 995: published
- Revision 996: published ryan
- Revision 997: published
- Revision 998: published mm
- Revision 999: published
- Revision 1000: published
- Revision 1001: published
- Revision 1002: published
- Revision 1004: published Marko
- Revision 1006: published Nikos M.
- Revision 1007: published Nikos M.
- Revision 1008: published Nikos M.
- Revision 1009: published Nikos M.
- Revision 1010: published
- Revision 1011: published Yukiko
- Revision 1012: published leo
- Revision 1013: published
- Revision 1014: published
- Revision 1016: published
- Revision 1018: published Elliot Boney
- Revision 1023: published Alexander Pape
- Revision 1024: published
- Revision 1025: published
- Revision 1027: published Sam Malone
- Revision 1028: published
- Revision 1029: published SerzN1
- Revision 1030: published
- Revision 1032: published
- Revision 1033: published
- Revision 1034: published ahmed
- Revision 1035: published
- Revision 1036: published
- Revision 1037: published Artem
- Revision 1038: published
- Revision 1039: published Oleg
- Revision 1040: published
- Revision 1041: published
- Revision 1042: published
- Revision 1043: published
- Revision 1044: published
- Revision 1045: published
- Revision 1046: published and last updated
- Revision 1047: published
- Revision 1049: published Prakhar
- Revision 1050: published
- Revision 1051: published
- Revision 1055: published Jack
- Revision 1056: published Jack
- Revision 1057: published Dong Nguyen
- Revision 1058: published ndaidong
- Revision 1059: published Jarno
- Revision 1063: published Mykola
- Revision 1066: published cimot
- Revision 1067: published Max
- Revision 1068: published
- Revision 1069: published
- Revision 1070: published
- Revision 1071: published Vladislav Simakov
- Revision 1072: published
- Revision 1073: published
- Revision 1076: published
- Revision 1077: published
- Revision 1078: published Joe
- Revision 1079: published x
- Revision 1087: published
- Revision 1089: published
- Revision 1090: published
- Revision 1091: published
- Revision 1092: published Raphael
- Revision 1093: published Fidel Añó
- Revision 1098: published
- Revision 1099: published
- Revision 1100: published foxontherock
- Revision 1101: published foxontherock
- Revision 1102: published foxontherock
- Revision 1103: published Juri Boxberger
- Revision 1104: published Juri Boxberger
- Revision 1105: published Juri Boxberger
- Revision 1106: published Juri Boxberger
- Revision 1107: published
- Revision 1108: published
- Revision 1109: published
- Revision 1110: published
- Revision 1111: published
- Revision 1112: published
0 Comments