理论上/潜在的?是的,正如 New Dev 所提到的,该bootstrap
函数将有一个更大的 DOM 来运行compile
,这比编译一个较小的树需要更长的时间。
几乎?可能不是。但最好的选择是对自己的页面进行基准测试。
作为实验,您可以尝试以下方法。我生成了一个简单的随机 DOM 并将其注入到 JSFiddle 中,console.time
从脚本加载开始,到控制器准备就绪时结束。在一个更大的 5000 节点树旁边(作为兄弟)有一个小的子树。
这是包裹整个身体的小提琴:http: //jsfiddle.net/gruagq8d/
这是只使用小子集的小提琴:http: //jsfiddle.net/h0hod2j8/
对我来说,重复运行这些小提琴中的任何一个都会在大约 260 毫秒内收敛。
我也尝试在真实的网页源上运行类似的代码,例如 StackOverflow 本身,并发现了相同的结果(但是我没有发布任何这些,因为未经许可将其他人的真实页面发布到 JSFiddle 感觉不合适) - 你可以自己试试这个很简单。
诚然,这并没有遵循很好的基准测试方法,但如果包装大量额外的 DOM 节点会导致显着不同的性能,我仍然希望这些至少有一些差异。
我认为额外的编译时间不是问题。对于小型 DOM,它显然很快,而对于大型 DOM,与您的浏览器首先构建 DOM 所花费的时间相比,它非常重要。
总而言之,如前所述,您最好的选择是尝试使用您自己的页面运行类似的基准测试。
编辑:修改相同的基准测试摘要周期表明这些也没有显着差异:
最小包装:http: //jsfiddle.net/fsyfn1ee/
包装整个 DOM:http: //jsfiddle.net/04tdwxhp/