Python C扩展的最大gcc优化?

Python C扩展的最大gcc优化?,python,gcc,compiler-optimization,Python,Gcc,Compiler Optimization,至少在使用GCC时,Python以温和的速度优化编译每个C扩展,即使用-O2标志 使用最具攻击性的速度优化(适用于gcc-O3)的最便捷方式是什么 我认为有一种方法可以强制添加-O3作为每个扩展的编译选项(extra\u compile\u args属性),但我并不热衷于这样做,因为底层C编译器可能不一定是gcc(它可能理解或喜欢-O3)。你说的“python编译器”是什么意思?只要链接正确的库并使用标题,就可以轻松地使用任何编译器和任何编译设置创建python模块。@Voo:我猜他说的是dis

至少在使用GCC时,Python以温和的速度优化编译每个C扩展,即使用
-O2
标志

使用最具攻击性的速度优化(适用于gcc
-O3
)的最便捷方式是什么


我认为有一种方法可以强制添加
-O3
作为每个扩展的编译选项(
extra\u compile\u args
属性),但我并不热衷于这样做,因为底层C编译器可能不一定是gcc(它可能理解或喜欢
-O3
)。

你说的“python编译器”是什么意思?只要链接正确的库并使用标题,就可以轻松地使用任何编译器和任何编译设置创建python模块。@Voo:我猜他说的是distutils构建python扩展的常用方法。当然,你可以用任何东西构建任何东西,但是生命太短暂了,不能浪费它来为其他人的代码重新实现构建系统。
distutils.core.setup()
接受
ext\u modules
参数,即你希望编译为扩展名的C源文件列表。当然,Python将委托给特定于平台的编译器(如gcc),但它也将传递编译器标志,包括那些控制优化级别的模块。@Matteo显示了我有多长时间没有真正创建python模块,甚至那时我也必须为Windows创建它们。@Voo:不幸的是,我必须了解一些distutils来修复一些扩展构建(这也涉及调用SIP);我不能向任何人推荐那些东西,我只是从distutils那里得到了悲伤。