C语言 严格类型化是否会提高Python程序的性能?

gblwokeq  于 2022-12-03  发布在  Python
关注(0)|答案(1)|浏览(128)

基于What makes C faster than Python?这样的问题,我了解到动态/静态类型并不是C语言比Python快的主要原因,主要是因为Python程序是解释的,而c程序是编译的。
我想知道,严格类型化是否能缩小解释程序与编译程序在性能上差距,从而成为一种可行的策略,在事后提高解释Python程序的性能?
如果答案是肯定的,这是在支持开发的环境中完成的吗?

oyxsuwqo

oyxsuwqo1#

在当前版本的Python中,类型注解主要是对程序员和一些验证工具的提示,但被编译器忽略,并且在运行时不被字节码解释器使用,这与Typescript的行为类似。
在某些情况下,可以改变Python的语义,以利用静态类型来生成更高效的字节码,并可能执行即时可执行代码生成(JIT)。高级Javascript引擎使用复杂的启发式来实现这一点,而无需类型注解。这两种方法都有助于使Python程序更快,在某些情况下比等效的C代码执行得更好。
还要注意,许多高级Python包使用本机代码,用C和其他语言编写,利用优化编译器、SIMD指令甚至多线程......使用这些库的程序中的Python代码并不花费时间,性能与编译语言相当,同时为程序员提供了一种更简单的语言来表达他们的问题。

相关问题