使用PyPy和Django的原因是什么?我读到PyPy可以提高性能。
使用PyPy和Django的原因是什么?我读到PyPy可以提高性能。
不太可能。Django应用程序几乎总是受I/O限制,通常是因为数据库连接的原因。PyPy对此没有帮助,即使它完全兼容(我不确定是否如此)。
取决于情况。
PyPy确实可以提高PyPy基准套件中所有基准测试的性能。目前只有模板渲染,但没有其他的提交。可以安全地假设对性能至关重要的代码将更快(特别是经过一些调整之后)。
与兼容性相关的数据库问题有点麻烦,因为只有sqlite可用,而且它很慢(不过有一个分支可以解决这个问题)。人们也报告说,例如使用SQLAlchemy时pg8000可用,但我没有第一手经验。
祝好, fijal
我使用PyPy + Django进行了一些实验。主要存在两个问题:
大多数数据库适配器和其他第三方模块无法使用PyPy编译(即使Wiki上说可以)。
有一台服务器进行了一些复杂的计算,我认为它可能会受益于JIT编译,但却出现了不断增长的内存占用,这可能是因为JIT正在存储跟每个请求独有的跟踪信息,所以不能够被重复使用?
从理论上讲,如果您的服务器进行了一些有趣的计算,使用纯Python模块,并且具有大量内存中对象(因为在某些情况下,PyPy可以减少每个对象使用的内存),那么PyPy可能会赢得胜利。否则,JIT的更高内存需求将是一个障碍,因为它减少了内存缓存的机会,并且可能需要额外的服务器来运行足够的服务器进程。