PHP学院的中学生 2021-06-30 20:57:32 956次浏览 0条回复 0 0 0

语言只负责描述一个程序,而程序运行的速度,其实很大程度上不取决于语言,而主要取决于算法和编译器的质量。

以JavaScript为例,JavaScript语言以ECMA-262规范作为语言定义,而具体的解释器由各个浏览器的JavaScript解释器(也叫JavaScript引擎)来解释。JavaScript曾经被认为性能不佳,但是由Chrome公司开源的v8 JavaScript引擎带来了很高的性能。

v8引擎与传统JavaScript引擎的解析流程有所不同。传统JavaScript引擎通常先把JavaScript代码编译成字节码(Bytecode,是一种中间码),然后再通过字节码转译为机器码。v8引擎直接把JavaScript代码编译成机器码,所以性能得到了很大提高。而且v8还使用了一些其他的优化技术,比如优化的垃圾回收器和缓存策略。

编译器和语言基本上是两码事。同一个语言可以有很多不同的编译器实现,每个编译器生成的代码质量都可能不同,所以您没法说“A语言比B语言快”,只能说“A语言的X编译器生成的代码,比B语言的Y编译器生成的代码高效”。这几乎等于什么也没说,因为B语言可能会有别的编译器,使得它的代码更高效。

    没有找到数据。
您需要登录后才可以回复。登录 | 立即注册