WebAssembly为何没能取代JavaScript:从沙箱隔离到DOM边界的性能博弈

2017年3月,WebAssembly在所有主流浏览器中落地。一时间,“JavaScript已死"的论调甚嚣尘上。毕竟,一个能让C++代码在浏览器中以接近原生速度运行的二进制格式,听起来像是动态语言的终结者。 ...

13 min · 6284 words

JIT编译如何让解释型语言跑出编译型语言的速度?

同一个Python程序,在标准CPython解释器下运行需要47秒,换成PyPy只需要2秒。代码完全相同,没有改动任何一行,性能却提升了23倍。这不是魔法,而是即时编译器(JIT)的功劳。 ...

12 min · 5962 words

BPF:一个"过期"技术的十五年逆袭

1992年12月,USENIX冬季会议上发表了一篇题为《The BSD Packet Filter: A New Architecture for User-level Packet Capture》的论文。作者Steven McCanne和Van Jacobson来自劳伦斯伯克利国家实验室,他们设计了一种新的内核架构用于网络数据包捕获。 ...

13 min · 6059 words