我写了一个数字运算python代码。涉及的计算可能需要数小时。有可能以某种方式将其编译为二进制文件吗?
由于
答案 0 :(得分:5)
答案 1 :(得分:3)
首先你可以试试psyco,这可能会让你的速度提高10倍,但2倍更典型
如果您可以在某处发布代码,也许有人可以指出如何利用numpy。
如果你的任务没有很好地映射numpy那么cython是一个很好的选择,只需添加一些cdef就能将一两个密集的函数转换为C代码。
如果您可以向我们展示代码(即使只是热点),我们可能会给您更好的建议。
也许您可以修改算法
答案 2 :(得分:2)
Shedskin可能值得一试。
从头版精简:
Shed Skin是一个实验编译器, 这可以翻译纯,但 隐式静态类型的Python 程序转换为优化的C ++。它可以 生成独立的程序或 可导入的扩展模块 并用于较大的Python程序。
除了输入限制, 程序无法自由使用Python 标准库(虽然大约20个 常用模块,如random和re, 目前支持)。而且,不是 所有Python功能,例如嵌套 函数和变量数 支持参数(参见 详细教程。)
对于一组44个非平凡的测试 计划(超过10,000行) 总计(sloccount)),测量显示 典型的加速比为2-40倍 Psyco,比CPython高出2-220倍。 因为Shed Skin还处于早期阶段 然而,发展阶段很多 其他程序不会编译 外的现成。