码迷,mamicode.com
首页 > 编程语言 > 详细

解释型语言与编译型语言

时间:2017-04-29 12:55:28      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:pypy   替代   编译过程   tps   了解   java   进制   执行   cpu   

  程序语言从执行方式上来区分有两种:解释型 和 编译型

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快不少。
 

解释型语言与编译型语言

标签:pypy   替代   编译过程   tps   了解   java   进制   执行   cpu   

原文地址:http://www.cnblogs.com/standby/p/6784808.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!