【问题标题】:Cythonize a .pyc no .pyx availableCythonize .pyc 没有 .pyx 可用
【发布时间】:2014-02-17 14:00:57
【问题描述】:

在我手中,我有一个 .pyc,而不是对应的 .py 或 .pyx。

  • 是否可以对 .pyc 进行 cythonize 处理?

  • 应该先解压成.py,怎么解压?

【问题讨论】:

    标签: python dll compilation cython


    【解决方案1】:

    Cython 是 Python 的超集,因此您可以对 .py 文件进行 cython 化。我这样说是因为.pyc 文件可以反编译为.py 文件。有几个库可以做到这一点,但是,我建议你看看之前问过的this question

    虽然可以做到这一点,但并没有真正的好处,你的python代码最多可以提高20%的速度。

    【讨论】:

    • 谢谢。将 pyc 反编译为 py 没有任何好处,但是当我将 cythonize 转换为 C++ 时,速度会有所提高,对吧?
    • 不,你不会获得任何速度。我可以进一步解释,但这只会让你感到困惑。除非您为数据静态定义类型,否则 Cython 只能做很少的优化。在documentation 中是这样写的。
    • docs.cython.org/en/latest/src/tutorial/pure.html 确认“纯 Python 脚本可以用 Cython 编译,它通常只会导致大约 20%-50% 的速度增益。”但进一步解释了如何在单独的 pxd 文件中添加类型注释,在保持简单 .py 源的同时获得更快的速度
    猜你喜欢
    • 2016-04-07
    • 2023-02-13
    • 1970-01-01
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-04
    • 1970-01-01
    相关资源
    最近更新 更多