python - 如何将 python 中的 'transform' 类对象转换为 llvm?

标签 python class llvm llvm-py

我愿意使用 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

如果有任何帮助,我将不胜感激!

最佳答案

简短回答:你不能。

原因是Python是一种解释性语言,并且该语言中有一些语句不容易用于静态计算。

我的建议是分析你的程序(例如,如果你运行的是 Linux,请使用 IPython 的 run -p 选项,或者通常通过 cProfile 模块),并找出是什么占用了程序的大部分时间.

在大多数程序中,总运行时间的很大一部分由相对较小的代码区域占用,并且对其进行改进(通过算法改进或通过编写 C 扩展,例如通过 SWIG)通常会导致性能提高了一个数量级。

这种优化通常比试图让“一切运行得更快”更有效。

关于python - 如何将 python 中的 'transform' 类对象转换为 llvm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11413259/

相关文章:

c - 将 Objective-C 类包装在 C 结构中以镜像类名

java - 使用 "Object"关键字在 Java 中创建对象

c++ - 在 Windows 上运行紧贴

llvm - 将元数据添加到 LLVM IR 中的指令

python - 排序字典python 3

python - 与厚模式相比,python-oracledb 瘦模式是否对性能有任何影响?

python - SAS 和网络数据

html - 理解单类/多类模式

c++ - 如何将 cscope 用于包含 .c 、 .cpp 和 .h 文件的项目?

python - Pycharm 和代码中的 UTF-8