On 07/08/2014 03:04 PM, Rob Lanphier wrote:
At a minimum, it would seem to affect deployment
performance. We are much
more forgiving of things that slow down deployment than we are of things
that slow down typical page loads, but not infinitely forgiving. How much
overhead would this add to deployments?
This depends on how we wire this up. There would be no effect if compilation
& caching happens dynamically in ResourceLoader, or a couple of ms per
template if it's done on deploy.
Template compilation is hardly a new technique (Smarty
anyone?), so I'm
assuming that technique could be (and has been?) applied to other engines.
Indeed. Most fast engines are using compilation, and some like handlebars
and knockoff also use pre-compilation for best performance.
I'm personally somewhat skeptical about Knockoff,
but only somewhat. My
main concern is that we don't end up adopting something that people will
consider to be yet another weird Mediawiki-ism, because we have a lot of
those.
I wholeheartedly agree. The idea behind Knockoff is to complement a popular
and rich reactive library (KnockoutJS) with a fast single-shot runtime
(TAssembly) for server-side and simple client-side use cases. Both
KnockoutJS and Knockoff / TAssembly are general-purpose templating libraries
without ties to MediaWiki.
Gabriel