python - 严格类型会提高 Python 程序性能吗?

标签 python c compiler-construction interpreter

基于这样的问题What makes C faster than Python?我了解到动态/静态类型并不是 C 比 Python 更快的主要原因。这似乎主要是因为python程序是解释的,而c程序是编译的。

我想知道严格类型是否会缩小解释程序与编译程序的性能差距,以至于严格类型将成为事后提高解释型 Python 程序性能的可行策略?

如果答案是肯定的,这是在亲开发环境中完成的吗?

最佳答案

对于当前版本的 Python,类型注释主要是给程序员的提示,可能还有一些验证工具,但会被编译器忽略,并且字节码解释器不会在运行时使用,这类似于 Typescript 的行为。

有可能改变 Python 的语义,在某些情况下利用静态类型来生成更高效的字节码,并可能执行即时可执行代码生成 (JIT)。高级 Javascript 引擎使用复杂的启发式方法在没有类型注释的情况下实现这一点。这两种方法都有助于使 Python 程序更快,并且在某些情况下比等效的 C 代码执行得更好。

另请注意,许多高级 Python 包使用 native 代码,用 C 和其他语言编写,利用优化编译器、SIMD 指令甚至多线程......使用这些库的程序中的 Python 代码不合时宜花费了并且性能与编译语言相当,同时为程序员提供了一种更简单的语言来表达他们的问题。

关于python - 严格类型会提高 Python 程序性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74510664/

相关文章:

python - 我可以在 Django 的 View 中声明变量时将变量传递到表单中吗

c - int数组到c中的字符串

c - strcat() int 变量 + C

iOS5 和 OpenGL ES 2.0 最佳编译器

c# - 如何在没有JIT的情况下运行程序?

python - Pandas 系列: select rows int series based upon values from another series

python - python 中的最佳返回类型策略

python - tensorflow 随机森林回归

c - 读入文件到字符串

macos - 用户级别的 Haskell