解释器语言比编译器语言慢的主要原因是什么?

时间:2019-07-04 09:09:13

标签: performance interpreter

虽然使用python语言,但我只是很好奇为什么解释器语言比编译器语言要慢。根据Googling的说法,这是因为解释器语言的目标代码是要在虚拟环境上执行,而编译器语言的目标是物理环境。然后,我的一位朋友带来了新的见解。他说,尽管编译器语言制作的目标代码可以减少代码中不必要的部分,并提高执行速度,这也可以称为优化,但解释器语言却是逐行执行的。主要原因是哪一个?甚至两个都对吗?

1 个答案:

答案 0 :(得分:0)

基本上...

正如您所指出的那样,在参考文献中, 编译后的代码会生成机器代码 ,该代码与物理机器处理器和记忆。

而解释器本身可能是机器代码,它会解析您的表达式,以便运行生成的(尽管是伪的)代码来生成表达式结果。关键是在运行时还有一个额外的层(解析和执行),这会增加开销并影响性能。