【发布时间】:2015-09-30 16:55:36
【问题描述】:
我了解内联缓存仅在特定访问在同一位置重复执行时才有用。它不考虑单独进行的访问。
例如,
for(i=0;i
在这里,内联缓存会很有帮助,因为每次访问都是独立进行的。但考虑关注
obj.x; 对象.x; .... 1000 次..
在这种情况下,内联缓存没有帮助。这是真的吗?
如果是这种情况,在不会重复的位置/访问处修补内联缓存存根有什么意义。
【问题讨论】:
-
好吧,你不能确定它们不会重复,因为它们所在的函数可能会被调用一百万次。除此之外,是的,在这种情况下它不是很有帮助。但至少可以说这是一种非常不寻常的编码实践。据我所知,内联缓存不知道上下文,并且总是使用,即使在完整的代码生成中也是如此。
标签: javascript caching profiling v8