使用(gcc / llvm)编译器编译 Python 和扩展是否会影响性能?
Can the compiler used (gcc / llvm) to compile Python and extensions affect the performance?
顺便说一句,对于那些python模块(尤其是C扩展),有些使用openmp
,如果我使用gcc
和openmp
编译,我认为它会会快很多吗?我对吗?
对于大多数情况,我认为 gcc
在代码优化方面做得更好。
但是,我认为在OSX中使用brew
,它会直接给我一个llvm
编译的二进制文件。我是否需要重新编译我的 python 和 gcc
中的那些 python 模块以提高性能?
这在很大程度上取决于您正在编译的 python 模块。如果这些 python 模块使用 OpenMP,那么启用 OpenMP 将使它们更快,是的。对了,还有LLVM/clangsupports OpenMP by now,不过不知道brew里面有没有启用。
GCC 和 LLVM 性能相似,depending on the compiled code,它们中的任何一个都可以更快。
如果您真的很在意 python 代码的速度,您可以尝试使用更快的 python 解释器,例如 pypy.
顺便说一句,对于那些python模块(尤其是C扩展),有些使用openmp
,如果我使用gcc
和openmp
编译,我认为它会会快很多吗?我对吗?
对于大多数情况,我认为 gcc
在代码优化方面做得更好。
但是,我认为在OSX中使用brew
,它会直接给我一个llvm
编译的二进制文件。我是否需要重新编译我的 python 和 gcc
中的那些 python 模块以提高性能?
这在很大程度上取决于您正在编译的 python 模块。如果这些 python 模块使用 OpenMP,那么启用 OpenMP 将使它们更快,是的。对了,还有LLVM/clangsupports OpenMP by now,不过不知道brew里面有没有启用。
GCC 和 LLVM 性能相似,depending on the compiled code,它们中的任何一个都可以更快。
如果您真的很在意 python 代码的速度,您可以尝试使用更快的 python 解释器,例如 pypy.