本帖最后由 ahack 于 2014-6-13 23:17 编辑
Web浏覽器性能方面,JavaScript占據著舉足輕重的地位,不過隨著網絡內容的日益複雜,很多時候即使強大的配置也會有些力不從心,導致浏覽器卡頓、卡死。
Intel日前宣布將與Google、Mozilla兩大浏覽器巨頭合作,利用CPU SIMD指令來加速JS代碼的執行,不需要任何外部插件,完全跨平台,只要是使用JS的地方都可以直接使用。
SIMD即單指令多數據 (此外還有SISD、MIMD、MISD),是現代微處理器中最重要的設計,通過並行運算機制在有限的功耗空間內提升性能,SSE、MMX等指令集就是基于SIMD架構的。
Intel已經提出了一些API,可以直接對SIMD JS進行編程,也可以直接通過JS JIT編譯器進行編譯,還能通過Mozilla Emscripten編譯器來生成SIMD代碼。
另一點非常重要的是,SIMD JS是與架構無關的,不管是x86還是ARM,只要支持SIMD就可以。
目前,Firefox Nightly、Google Chromeium兩個試驗性質的浏覽器分支都已經開始整合SIMD JS API,經測試可在不同平台上普遍帶來3-6倍的性能提升,平均4倍左右,個別情況下甚至能夠達到十多倍!
以下就是Intel給出的一些加速示例,Chromeium浏覽器在Ivy Bridge Core i7-3667U+Ubuntu 13 32/64位、Bay Trail Atom Z3770+Android 4.4三個平台上的表現:
Intel、Google、Mozilla還正在聯合制定相應提案,希望能夠在JS ES7標准中正式加入SIMD加速
標量操作、SIMD矢量操作對比
Firefox加速示例:接近4倍
Chromeium加速示例:3.3倍
代碼示例:標量版
代碼示例:SIM矢量版
|