17.4 解耦的模板对性能的影响

影响极小。当一个解析好的模板被标记为使用解耦的逻辑,并且没有被缓存时,模板逻辑资源将会首先被解析,然后处理成内存里的指令序列:基本上是属性列表——它们将要注入到每一个标记选择器里。

但是,这是唯一需要的额外步骤。因为,这之后,真正的模板会被解析,并且由于AttoParser在节点选择上的高性能,在解析时,这些属性会由解析器即时注入。所以解析好的节点会从解析器出来,就好像这些注入的属性是写在原始模板文件里。

这种方式最大的好处是什么?当一个模板被配置为缓存,它会包含着注入的属性被缓存下来。所以对于可缓存的模板,一旦它们被缓存了,使用解耦的模板的开销为零。