Perf is important, but perf comparisons are sometimes incorrect.
The tests on the link are comparing how long each engine takes to render an HTML string. But for jQuery templates, they are using calling $.tmpl(template, data)- many times, which does not render an HTML string. It builds a jQuery object around a document fragment containing the rendered HTML ready for chaining with .appendTo. To use this without calling appendTo makes no sense, and will not perform well. It does much more than build an HTML string.
One of the goals of Beta2, planned for April, is to provide an API to allow you just to render an HTML string, if that is all you want. You can then innerHTML or .html(), for example to insert it. You can also render as a string on the server, and render that to the Response, for initial rendering. But there is also an activation step, which runs by default, and gives you tmplItem, and opens the way to all the interactive applications, if your app is not just read-only rendering. You can choose whether you want activation or not.
The current implementation uses a mix of string concatenation and document
fragment instantiation, and does not provide an option for just rendering to a string. That has history going all the way back to the first prototype which John created, which this evolved from. See this issue, for related discussion:
https://github.com/jquery/jquery-tmpl/issues/closed#issue/4. It links also to a discussion here: http://rileydutton.com/post/1303173205/jquery-templates-vs-jqote-2-a-followup-a-k-a-the%20%20