算是一本有点老的书了?因为之前大一的时候打印了出来一只没看,就想着要不找个时间看完算了
High Performance Networking in Chrome
1.2 The Many Facets of Performance
Chrome是作为一个平台来设计的。在Chrome之前的浏览器都是单一进程,每一个页面共享同一个内存空间,如果某一个页面出了问题,那么其他的页面也可能会受到影响。而Chromes是多进程来工作的。每一个tab页面都是一个单独的进程,拥有自己的内存空间以及一个沙箱(sandbox)
浏览器的工作主要就是三个步骤
- 获得资源
- 页面渲染
- 执行脚本
其中页面渲染和脚本的执行是单线程并且交错执行的(single-threaded, interleaved model of execution)–无法对DOM进行并发的修改,这其中一部分是因为js本身是单线程执行的语言。所以提速的方向主要是在如何将两者一起结合起来快速的运行。
Chrome使用Blink作为layout引擎。而对于js,Chrome实现了V8 runtime
浏览器对不同网络资源能够根据其延迟等信息来进行优先级的判定是非常重要的一点