我正在阅读解释语言的优缺点,最常见的缺点之一是速度慢,但为什么解释语言的程序很慢?
最佳答案
native 程序使用为它们运行的处理器编写的指令运行。
解释型语言就是“解释型”。一些其他形式的指令由运行时读取和解释,然后执行本地机器指令。
这么想吧。如果您可以用您的母语与某人交谈,这通常比让口译员将您的语言翻译成其他语言以供听众理解要快得多。
请注意,我上面描述的内容是针对在解释器中运行语言时的情况。许多语言都有解释器,也有用于构建 native 机器指令的 native 链接器。速度降低(无论其大小)仅适用于解释的上下文。
因此,说语言很慢是有点不正确的,而是它运行的上下文很慢。
C# 不是解释性语言,即使它使用中间语言 (IL),它在执行前会被 JITted 到 native 指令,所以它有一些相同的速度降低,但不是全部,但我敢打赌如果您为 C# 或 C++ 构建了一个完全成熟的解释器,它也会运行得更慢。
明确地说,当我说“慢”时,这当然是一个相对的术语。
关于performance - 为什么解释型语言很慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1694402/