Transparency vs. Weld vs. Mustache

JavaScript performance comparison

Revision 2 of this test case created

Preparation code

<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://mustache.github.com/extras/mustache.js"></script>
<script src="https://raw.github.com/hij1nx/weld/master/lib/weld.js"></script>
<script src="https://raw.github.com/leonidas/transparency/master/lib/jquery.transparency.min.js"></script>

<div id="transparencydiv">
  <h1 id="name">My Name</h1>
  <ul class="interests"><li class="interest">An interest</li></ul>
</div>

<div id="welddiv">
  <h1 id="name">My Name</h1>
  <ul><li class="interests">An interest</li></ul>
</div>

<div id="mustachediv">
   <h1>{{name}}</h1>
   <ul>
   {{#interests}}
     <li>{{interest}}</li>
   {{/interests}}
   </ul>
</div>

<div id="mustachediv-saved">
   <h1>{{name}}</h1>
   <ul>
   {{#interests}}
     <li>{{interest}}</li>
   {{/interests}}
   </ul>
</div>
<script>
Benchmark.prototype.setup = function() {
    var me = {
      "name": "Joshua Kehn",
      "interests" : [
        "javascript",
        "node.js",
        "development",
        "programming"
      ]
    };
   
    var me_transparency = {
      "name": "Joshua Kehn",
      "interests" : [
        {interest: "javascript"},
        {interest: "node.js"},
        {interest: "development"},
        {interest: "programming"}
      ]
    };
   
    var me_stach = {
      "name": "Joshua Kehn",
      "interests" : [
        {"interest":"javascript"},
        {"interest":"node.js"},
        {"interest":"development"},
        {"interest":"programming"}
      ]
    };
   
    var weld_elem = document.getElementById('welddiv');
    var t_elem = $('#transparencydiv');
    var m_elem = document.getElementById('mustachediv');
    var m_saved = document.getElementById('mustachediv-saved');
};
</script>

Preparation code output

My Name

  • An interest

My Name

  • An interest

{{name}}

    {{#interests}}
  • {{interest}}
  • {{/interests}}

{{name}}

    {{#interests}}
  • {{interest}}
  • {{/interests}}

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
Transparency
t_elem.render(me_transparency);
pending…
Weld
weld(weld_elem, me);
pending…
Mustache
m_elem.innerHTML = Mustache.to_html(m_saved.innerHTML, me_stach);
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:

0 comments

Add a comment