我愿意使用llvm来优化我的python代码。我读了一些教程,但我还没想出如何将python代码中的类对象导出到llvm。我学会了如何在llvm-py中创建一个函数,但类不在我的力量之中。
以下是我想在llvm代码中创建的类的示例:
class Char():
def __init__(self,c):
self.c=c
def next(self,line,p):
try:
return self.c==line[p]
except:
return False
def next_rep(self,line,p):
try:
return self.c==line[p],p
except:
return False,p
我将不胜感激任何帮助!
答案 0 :(得分:1)
简短回答:你不能。
原因是Python是一种解释型语言,语言中有几种语句不容易用于静态评估。
我的建议是你对你的程序进行概要分析(例如,如果你正在运行Linux使用IPython的run -p选项,或者通常通过cProfile模块),并弄清楚是什么占用了大部分节目的时间。
在大多数程序中,总运行时间的很大一部分由相对较小的代码区域占用,并且通过算法改进或通过编写C扩展(例如通过SWIG)来改进它通常会导致性能提升一个数量级。
这种优化通常比尝试使“一切运行得更快”更有效。