Mustache Loop vs Loop Mustache (v3)

Revision 3 of this benchmark created by Morgan Cheng on


Preparation HTML

<script src="//yui.yahooapis.com/3.3.0/build/yui/yui.js"></script>
<script>
  Y = YUI({
     modules: {
      'gallery-mustache': {
       fullpath: 'https://github.com/derek/yui3-gallery/raw/master/build/gallery-mustache/gallery-mustache.js'
      }
     }
    }).use('gallery-mustache', 'substitute');
    
    
  var templateA = "{{#repo}}<b>{{name}}</b>{{/repo}}";
  var templateB = "<b>{{name}}</b>";
  
  var viewA = {
    "repo": [
      { "name": "morgan0" },
      { "name": "morgan1" },
      { "name": "morgan2" },
      { "name": "morgan3" },
      { "name": "morgan4" },
      { "name": "morgan5" },
      { "name": "morgan6" },
      { "name": "morgan7" },
      { "name": "morgan8" },
      { "name": "morgan9" },
      { "name": "morgan10" },
      { "name": "morgan11" },
      { "name": "morgan12" },
      { "name": "morgan13" },
      { "name": "morgan14" },
      { "name": "morgan15" },
      { "name": "morgan16" },
      { "name": "morgan17" },
      { "name": "morgan18" },
      { "name": "morgan19" },
  
    ]
  };
  
  
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
mustache loop
Y.mustache(templateA, viewA);
ready
loop mustache
var i, parts = [], len = viewA.repo.length, repo = viewA.repo;

for (i=0; i<len; ++i) {
   parts.push(Y.mustache(templateB, repo[i]));
}

parts.join("");
ready

Revisions

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

  • Revision 1: published by Morgan Cheng on
  • Revision 2: published on
  • Revision 3: published by Morgan Cheng on