【发布时间】:2018-11-29 00:54:55
【问题描述】:
在使用 Workbox 对 Service Worker 的性能进行基准测试时,我们发现了一个有趣的现象。
当应用 service worker 时,workbox 的 network-first 策略比没有 service worker 网络慢大约 30 毫秒。然后,我们尝试跳过workbox,手动实现network-first策略,慢了20ms左右。
我的猜测是,如果 service worker 启动,所有请求都必须由 javascript 代码处理。正是 JavaScript 代码的执行使网络变慢了。
然后,我检查了缓存优先策略,结果发现从缓存存储中获取内容比在没有 service worker 的情况下从磁盘缓存(http 缓存)中获取内容要慢。
所以,据我了解,即使 Service Worker 为我们提供了对缓存的更多控制,也不能保证缓存速度更快,对吧?
【问题讨论】: