有什么方法可以告诉 v8 为下一个加载相同 javascript 库的 'page' 保留 p 代码
is there any way to tell v8 to preserve p-code for the next 'page' that loads the same javascript library
场景:为了让 Lighthouse 分析更快乐(即减少下载、阻塞等等等等),一个网络应用程序被切碎了,所以之前在页面中 dialogues/sequences
现在是独立的,随后加载的页面。
自然这意味着单个库 link 下载现在已成为每个结果对话框页面的下载。就下载量 大小 而言,任何缓存机制都会改善任何乘数。尽管 v8/closure 已被用于大幅缩小下载大小 - 这留下了重新解析和重新编译每个实例的阻塞问题(当 target/client 上只有一个 parse/compile 应该 实际上是需要的,如果我们是最佳的)。
所以,问题是,是否有任何机制来标记库代码,以便 v8 引擎
保留并重用它第一次解析的 p 代码?? [注意,ServiceWorker 实现 不是 library/framework 的答案。]
V8,结合它嵌入 Chrome 的方式,确实具有缓存代码的能力。您不需要标记任何东西;就像 HTTP 缓存一样,浏览器有一定的启发式来自行决定 whether/when 来缓存东西。
场景:为了让 Lighthouse 分析更快乐(即减少下载、阻塞等等等等),一个网络应用程序被切碎了,所以之前在页面中 dialogues/sequences 现在是独立的,随后加载的页面。
自然这意味着单个库 link 下载现在已成为每个结果对话框页面的下载。就下载量 大小 而言,任何缓存机制都会改善任何乘数。尽管 v8/closure 已被用于大幅缩小下载大小 - 这留下了重新解析和重新编译每个实例的阻塞问题(当 target/client 上只有一个 parse/compile 应该 实际上是需要的,如果我们是最佳的)。
所以,问题是,是否有任何机制来标记库代码,以便 v8 引擎 保留并重用它第一次解析的 p 代码?? [注意,ServiceWorker 实现 不是 library/framework 的答案。]
V8,结合它嵌入 Chrome 的方式,确实具有缓存代码的能力。您不需要标记任何东西;就像 HTTP 缓存一样,浏览器有一定的启发式来自行决定 whether/when 来缓存东西。