python是否与C中的inline
类似?
如果没有,我怎样才能加快功能的执行?
答案 0 :(得分:7)
不,python没有这样的陈述。
但是,如果函数调用的开销是一个问题,使用像Python这样的脚本语言是错误的选择。考虑将相关部分移动到C扩展中。如果您选择Cython。
答案 1 :(得分:1)
不,不。但是有几种加速Python执行的机制,例如你可以从Python程序调用本机C代码,例如使用Boost.Python:
Boost Python Library是一个用于连接Python和C ++的框架。它允许您快速无缝地将C ++类函数和对象公开给Python,反之亦然,不使用特殊工具 - 只需使用C ++编译器。它旨在非侵入性地包装C ++接口,因此您不必更改C ++代码以包装它,使Boost.Python成为将第三方库公开给Python的理想选择。该库使用高级元编程技术简化了用户的语法,因此包装代码具有一种声明性接口定义语言(IDL)的外观。
答案 2 :(得分:1)
您可以从scipy下载一个名为Weave的库,它允许您将c或c ++代码内联到python代码中。这会加速它。
然而,python本身并没有内联函数。
还有其他一些库旨在加速计算,如scipy,numpy,我认为matplotlib是一个非常好的库。还有用于并行计算的iPython。
祝你好运。答案 3 :(得分:0)
我不知道Python中的等效内联功能。
你可以做的最好的事情是加速一个函数来检查算法,假设你已经用尽了惯用语言功能(比如列表理解等)。
答案 4 :(得分:0)
Python会为您优化代码,但您对它的工作方式没有任何影响。要加速任何python代码的加载时间,可以在执行前将其编译为字节码。