使用Pyrex编译django项目

the*_*xer 2 python django cython pyrex

我想知道是否有人能够使用pyrex(或类似的东西)编译基于Django的项目(例如共享对象库),并且仍然使用python使用普通的Django项目保持灵活性.

我们必须能够使用apache项目,因此无法将其编译为独立的二进制文件.我想到它的方式是它将被编译成libs,这些libs将暴露给解释器,所以它应该像python项目的当前状态.最好不要写很多C代码:)

提前致谢.

jsb*_*eno 7

Pyrex及其后继者 - cython - 并不完全兼容python - 它们是另一种语言,尽管基于Python.

Django是一个非常复杂的项目,需要严格的Python合规才能运行 - 我怀疑如果没有几个月的工作可以让Django直接在cython或Pyrex中工作 - 尽管可以使用分析器将特定的瓶颈转换为本机代码更少的努力(通过将核心中的单个django模块替换为使用Cython优化的模块)

此外,使用Pyrex/Cython进行优化并不是"免费" - 通过在Cython中运行简单的数字密集型代码可以获得大约30%的加速,而不需要对代码进行任何更改 - 但是为了提高速度,代码必须是手动调整,以便一些变量静态类型化.

另一方面,您可以尝试使用Pypy运行Django - 这里有一些提示:http://reinout.vanrees.org/weblog/2011/06/06/django-and-pypy.html

Pypy是一个极其符合要求的Python解释器,已知Django核心可以使用它.它确实使用了即时翻译方法,使其比大多数工作负载的Python(CPython)参考实现快几倍.