ejs vs underscore (v5)

Revision 5 of this benchmark created by Islam ali on


Preparation HTML

<div id ="result">
</div>
<script type="text/html" id='demo_under'>
 <p><%=title%></p>
            <ul>
                <% _.each(items, function(items){ %>
                <li>
                    <a href=<%=items.link%>}> <%=items.title%> </a>
                    <span style="font-weight: bold"> : <%=items.description%></span>
                </li>

                <%});%>
            </ul>
</script>


<script type="text/html" id='demo_ejs'>
            <p><%=title%></p>
                        <ul>
                                <% for(var i = 0; i < items.length ; i ++){ %>      
                                <li>
                                        <a href="<%=items[i].link%>"> <%=items[i].title%> </a>
                                                        <span style="font-weight: bold"> : <%=items[i].description%></span>
                                        </li>
                                <%}%>
                        </ul>
        </script>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<!-- script Underscore -->
<script src="http://documentcloud.github.com/underscore/underscore-min.js"></script>
<!-- // end script -->
<!-- script ejs-->
<script src="http://www.embeddedjs.com/javascripts/ejs_production.js"></script>

Setup

var data = {
      title: "Title - example 1",
      link: "/",
      description: "JavaScript -  Title - example 1",
      language: "en",
      items: [{
          title: "Sub title 1",
          link: "http://www.sub1.com",
          description: "Decription - sub title 1 - Decription - sub title 1 - Decription - sub title 1 - Decription - sub title 1- Decription - sub title 1 "
        }, {
          title: "Sub title 2",
          link: "http://www.sub2.com",
          description: "Decription - sub title 2 - Decription - sub title 2 - Decription - sub title 2 - Decription - sub title 2- Decription - sub title 2 "
        }, {
          title: "Sub title 3",
          link: "http://www.sub3.com",
          description: "Decription - sub title 3 - Decription - sub title 3 - Decription - sub title 3 - Decription - sub title 3- Decription - sub title 3 "
        }, {
          title: "Sub title 4",
          link: "http://www.sub4.com",
          description: "Decription - sub title 4 - Decription - sub title 3 - Decription - sub title 3 - Decription - sub title 3- Decription - sub title 3 "
        }, {
          title: "Sub title 5",
          link: "http://www.sub5.com",
          description: "Decription - sub title 5 - Decription - sub title 3 - Decription - sub title 3 - Decription - sub title 3- Decription - sub title 3 "
        }, {
          title: "Sub title 6",
          link: "http://www.sub6.com",
          description: "Decription - sub title 6 - Decription - sub title 3 - Decription - sub title 3 - Decription - sub title 3- Decription - sub title 3 "
        }, {
          title: "Sub title 7",
          link: "http://www.sub7.com",
          description: "Decription - sub title 7 - Decription - sub title 3 - Decription - sub title 3 - Decription - sub title 3- Decription - sub title 3 "
        }, {
          title: "Sub title 8",
          link: "http://www.sub8.com",
          description: "Decription - sub title 8 - Decription - sub title 3 - Decription - sub title 3 - Decription - sub title 3- Decription - sub title 3 "
        }
    
      ]
    
    }

Test runner

Ready to run.

Testing in
TestOps/sec
EJS
var str_template = document.getElementById("demo_ejs").innerHTML;
var html = new EJS({
  text: str_template
}).render(data);
document.getElementById("result").innerHTML = html;
ready
Underscore
var str_template = $("#demo_under").html();
var html = _.template(str_template, data);
$("#result").html(html);
ready

Revisions

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