V8 是Google一个开源JavaScript 引擎,它在设计之初就以高效地执行大型的JavaScript 应用程序为目的。V8的JavaScript渲染引擎亮点在于更快速更强壮的JavaScript解析。V8是一个非常反传统的JavaScript引擎,它能够在后台动态的对JS的对象进行分类——一个在其他高级语言中很常见但JS本身不支持的特性。V8对JS的解析不是基于反复loop源代码进行解释而是直接将JS代码编译成机器码运行。换句话说,V8引擎实际上可以看做是JS的扩展和编译器——而传统上类似于JS的解释型语言恰恰是不需要编译器的。
传统的javascript是动态语言, 又可称之为 Prototype-based Language,JavaScript继承方法是使用prototype, 透过指定prototype属性,便可以指定要继承的目标。属性可以在运行时添加到或从对象中删除,引擎会为执行中的物件建立一个属性字典,新的属性都要透过字典查找属性在内存中的位置。V8为object新增属性的时候,就以上次的hidden class为父类别,创建新属性的hidden class的子类别,如此一来属性访问不再需要动态字典查找了。
最后,高级语言的内存管理效能一直是决定其运行效率的重要因素,而当前的JS虚拟机在这方面做的比较基本,对内存的回收也非常保守。V8使用的是非常强势的内存管理策略,一切在运行堆栈里无用的数据都会被强行回收,从而可以大大提高JS代码的运行效率。
V8的优势特点总结:
1. 快速对象属性访问。其特点是将JS对对象属性的访问,从一个动态的查找过程转换成类似于Java/C++的静态访问。毫无疑问,在JavaScript中,对象属性访问是最为频繁的一类操作,这个动态查找的过程其实是相当之消耗时间的。
2. 动态机器码生成。这个也是与快速属性访问相关的。它把动态的JS对象转变为一个类似于Java的静态布局对象。
3. 高效的GC机制。V8提供的是一个stop-the-world, generational, accurate的GC机制。而FF提供的则不是一个分代的GC。在实际应用中,分代的GC相比不分代的GC显然具有更高的效率。这一点,也是Java Hotspot所必须的。
目前,V8的源代码也推送到Github.com上:https://github.com/v8/v8
- 大小: 29.9 KB
分享到:
相关推荐
最新版Google V8引擎库,谷歌Chrome JavaScript引擎,VS2013 32位编译,可正式使用
谷歌浏览器的脚本引擎、JavaScript解释器:V8。checkout日期:2009-4-19
Google V8 引擎使用 C++ 代码编写,实现了 ECMAScript 规范的第五版,可以运行在所有的主流操作系统中,甚至可以运行在移动终端 ( 基于 ARM 的处理器,如 HTC G7 等 )。V8 最早被开发用以嵌入到 Google 的开源浏览器...
V8 是 Google 的开源 JavaScript 引擎。 V8 实现了 ECMA-262 中指定的 ECMAScript。 V8 是用 C++ 编写的,并在 Google Chrome(Google 的开源浏览器)中使用。 V8 可以独立运行,也可以嵌入到任何 C++ 应用程序中...
V8 Javascript Engine for PHP — 这个PHP扩展用于嵌入谷歌的V8 Javascript引擎
Google chrome内置Javascript引擎,最新版本。在tools\visual_studio下有Visual studio 2005工程文件,可以用vs2005打开。
V8 is Google's open source JavaScript engine. V8 is written in C++ and is used in Google Chrome, the open source browser from Google. V8 implements ECMAScript as specified in ECMA-262, 3rd edition, ...
详解JavaScript引擎V8执行流程 目录 一、V8来源二、V8的服务对象三、V8的早期架构四、V8早期架构的缺陷五、V8的现有架构六、V8的词法分析和语法分析七、V8 AST抽象语法树八、字节码九、Turbofan 一、V8来源 二...
delphi google V8 脚本引擎接口 delphi程序 最佳 javascript 途径 模拟HTTP 加解密的神器,有demo D7-东京编译通过
V8是一个由美国Google开发的开源JavaScript引擎,用于Google Chrome中。[2]Lars Bak是这个项目的组长。[3] V8在运行之前将JavaScript编译成了机器码,而非字节码或是解释执行 它,以此提升性能。更进一步,使用了如...
c# 、asp.net 在后台使用谷歌V8引擎执行js,将示例工程中的GoogleV8Engine.cs文件复制到你的项目中。将GoogleV8Engine_x64.dll 和 GoogleV8Engine_x86.dll 两个非托管DLL文件拷贝到工程部署的DLL目录下(ASP.Net拷贝...
V8是Google的开源Javascript引擎。 V8用C ++编写,并在Google Chrome(谷歌的开源浏览器)中使用。 V8实现了ECMA-262,第5版中指定的ECMAScript。 此扩展程序要求V8 6.9(已知可以正常运行6.9.427.18)或更高版本...
关于V8设计的讲解,有助于理解和使用V8引擎,学习V8的设计。
免费积分下载。鉴于中国无法访问谷歌网站,无法编译V8 现在将编译好的v8Dome项目上传。内含x86和x64 lib,dll和头文件。目前dome已经在vs2019 Debug_x64配置好了,可以直接运行。
Google V8 for delphi javascript 脚本引擎接口(有demo)
javascript v8执行引擎源码,v8是google chrome浏览器的javascript执行引擎,也是世界上最快的javascript执行引擎;
V8 Javascript Engine for PHP — This PHP extension embeds the Google V8 Javascript Engine 标签:v8js
Google v8 javascript engine source code 最新
使用方式 编译时: 把include文件夹加入additional include directories中。 链接时: 在链接选项中加入这些lib文件。 运行时: 把blobs和dlls下的东西复制到你的exe文件夹下。
google V8引擎源码的makefile工程,V8 version 3.14.0.1。