首页 > 代码库 > 解释型语言与编译型语言
解释型语言与编译型语言
程序语言从执行方式上来区分有两种:解释型 和 编译型
1.编译型语言:在程序执行之前,有一个编译过程,将源程序翻译成机器码(CPU指令)、以二进制文件形式存在,之后再执行的时候直接执行,不再需要翻译的过程;坏处则是难以支持许多动态特性;
- C
- C++
2.解释型语言:在执行的时候将程序翻译成机器码(CPU指令),所以运行速度要慢于编译型语言,每次执行都需要一个翻译的过程;大部分CPU时间花在了解释器运行上面;好处是实现起来非常简单,也很容易添加新特性;
- Python
- Java
3.为什么PyPy要比CPython执行速度快呢?
PyPy使用了JIT技术,JIT是解释型和编译型两者的结合,对Python代码进行动态编译(注意不是解释):
首先让代码解释执行,同时收集信息,在收集到足够信息的时候,将代码动态编译成CPU指令,然后用CPU指令替代解释执行的过程;
因为编译发生在马上要执行之前,所以叫做Just-In-Time Compiler。编译之后速度就是编译执行的速度了,自然比解释执行要快得多,所以运用JIT的PyPy要比CPython快不少。
备注:转自【灵剑】 https://www.zhihu.com/question/19588346/answer/130393688
解释型语言与编译型语言
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。