根据我的理解:
一个解释语言是高级语言运行和由解释器执行(程序将高级语言转换成机器代码,然后执行)在旅途中; 它一次处理一点程序.
甲编译语言是一种高级语言,其代码由编译器,然后通过一个执行器(另一个程序用于运行代码)执行(其高级语言转换成机器代码的程序)首先被转换为机器代码.
如果我的定义错了,请纠正我.
现在回到Python,我对此感到困惑.在任何地方,您都了解到Python是一种解释型语言,但它被解释为某些中间代码(如字节代码或IL)而不是机器代码.那么哪个程序执行IM代码?请帮助我理解如何处理和运行Python脚本.
将Python(可能通过中间C表示)编译成机器代码是否可行?
据推测,它需要链接到Python运行时库,Python标准库的任何Python部分本身都需要编译(并链接).
此外,如果您想对表达式进行动态评估,则需要捆绑Python解释器,但也许不允许这样做的Python子集仍然有用.
它会提供任何速度和/或内存使用优势吗?据推测,Python解释器的启动时间将被消除(尽管共享库仍需要在启动时加载).
基于这样的问题What made C比Python更快?我了解到动态/静态类型并不是 C 比 Python 更快的主要原因。看起来很大程度上是因为 python 程序是解释性的,而 c 程序是编译性的。
我想知道严格类型是否足以缩小解释程序与编译程序的性能差距,以至于严格类型将成为事后提高解释Python程序性能的可行策略?
如果答案是肯定的,这是在专业开发环境中完成的吗?