On Tue, Jul 8, 2014 at 12:20 PM, Rob Lanphier robla@wikimedia.org wrote:
Is there someone who has the time to perform and publish an independent audit on performance specifically? We currently have this:
https://www.mediawiki.org/wiki/Requests_for_comment/HTML_templating_library#...
...which suggests that Knockoff is 50% faster than then next fastest solution (Handlebars), and over 10x faster than most. If this stands up to scrutiny, and holds true as Knockoff gains feature parity, this is a huge achievement that we should shout about far and wide, since I believe no one disputes that a DOM-based approach is much more secure than a string-based approach...
Yes, it's 50% faster, but we're not really comparing apples to apples. Knockout/T-assembly requires a pre-compilation step, so we should keep that in mind in the comparisons. The pre-compilation doesn't affect performance, but it does add a layer of complexity to the process.
The approach that Mantle is taking is pretty interesting, i.e. allowing you to use any templating system you want as long as it meets certain assumptions. I would love to see Knockout/T-assembly and Mantle move towards being compatible with each other (which wouldn't take much work). Then people who want maximum performance/security can use Knockout and people who want maximum simplicity can use Mustache, etc. I know there are probably few people on this list who would think that offering simplicity is important, but we should remember that we are an open source project with thousands of 3rd party users, many of whom are not professional programmers, but would love to be able to tweak the interface and build simple extensions. Adopting an MVC framework with templating/widgets is a huge step in the right direction, but we would be squandering the opportunity, IMO, if our only templating system is too complicated for novice programmers to figure out how to use. If we can offer the best of both worlds, that seems like the ideal solution to me.
Ryan Kaldari