隨着Web相關技術的發展,JavaScript所要承擔的工作也越來越多,早就超越了“表單驗證”的范疇,這就更需要快速的解析和執行JavaScript腳本。V8引擎就是為解決這一問題而生,在node中也是采用該引擎來解析JavaScript。
WebKit是由蘋果2005年發起的一個開源項目,引起了眾多公司的重視,幾年間被很多公司所采用,在移動端更占據了壟斷地位。更有甚者,開發出了基於WebKit的支持HTML5的web操作系統(如:Chrome OS、Web OS)。
2.V8引擎
V8引擎是一個JavaScript引擎實現,最初由一些語言方面專家設計,后被谷歌收購,隨后谷歌對其進行了開源。V8使用C++開發,,在運行JavaScript之前,相比其它的JavaScript的引擎轉換成字節碼或解釋執行,V8將其編譯成原生機器碼(IA-32, x86-64, ARM, or MIPS CPUs),並且使用了如內聯緩存(inline caching)等方法來提高性能。有了這些功能,JavaScript程序在V8引擎下的運行速度媲美二進制程序。V8支持眾多操作系統,如windows、linux、android等,也支持其他硬件架構,如IA32,X64,ARM等,具有很好的可移植和跨平台特性。
3.V8 VS JavaScriptCore
JavaScriptCore引擎是WebKit中默認的JavaScript引擎,也是蘋果開源的一個項目,應用較為廣泛。最初,性能不是很好,從2008年開始了一系列的優化,重新實現了編譯器和字節碼解釋器,使得引擎的性能有較大的提升。隨后內嵌緩存、基於正則表達式的JIT、簡單的JIT及字節碼解釋器等技術引入進來,JavaScriptCore引擎也在不斷的迭代和發展。
V8引擎自誕生之日起就以性能優化作為目標,引入了眾多新技術,極大了帶動了整個業界JavaScript引擎性能的快速發展。總的來說,V8引擎較為激進,青睞可以提高性能的新技術,而JavaScriptCore引擎較為穩健,漸進式的改變着自己的性能。
https://blog.csdn.net/swimming_in_IT_/article/details/78869549