将 Psyco 与 django 一起使用是不是有意义?

Posted

技术标签:

【中文标题】将 Psyco 与 django 一起使用是不是有意义?【英文标题】:Does using Psyco with django make any sense?将 Psyco 与 django 一起使用是否有意义? 【发布时间】:2009-10-26 07:50:03 【问题描述】:

我知道 Psyco 对桌面应用程序的好处,但是在一个进程(= 网页或 AJAX 调用)在被触发后立即死亡的 Web 应用程序中,这不是没有意义吗?

【问题讨论】:

Err,一个进程真的在被解雇后就死了吗?我认为通常 mod_python 只要服务器进程存在就可以存在。 重要的是要注意 psyco 仅适用于 32 位机器。所以如果你在32位机器上本地开发,在64位机器上部署,就不行了。 (另外我完全同意范盖尔的回答) 【参考方案1】:

首先,正如 gribbler 和 Ibrahim 所提到的,除非您使用纯 CGI……否则您的进程不会死掉......您不应该使用它。

其次,大多数网络应用程序的瓶颈是数据库查询,而 Psyco 对此无能为力。

如果您碰巧有一些计算密集型逻辑,那么使用 Psyco 或 Cython 肯定是有意义的。事实上,我在某处读到了一份报告(抱歉,已经有一段时间了,所以现在找不到链接),有人正在做一些复杂的计算,并且用 Cython 编译了他们的整个 views.py 并取得了很好的结果。

【讨论】:

【参考方案2】:

这家伙的表现得到了提升:

http://www.alrond.com/en/2007/jan/25/performance-test-of-6-leading-frameworks/

虽然有点过时了。

【讨论】:

【参考方案3】:

您应该在 django 中使用 fastcgi 或 wsgi,因此不会为每个请求启动进程。

如果您想要获得可观的收益,您确实需要编写对心理友好的代码,如果您的瓶颈是数据库,您将不会受益。

【讨论】:

以上是关于将 Psyco 与 django 一起使用是不是有意义?的主要内容,如果未能解决你的问题,请参考以下文章

将 Swagger 与 Django Rest Framework 一起使用,我可以在不同字段而不是一个正文中看到 POST 参数吗

使用 Django pyodbc SQLSERVER 问题

为啥不总是将 psyco 用于 Python 代码?

django prefetch_related 是不是应该与 GenericRelation 一起使用

将 Psyco 混入我的项目都有哪些风险(如果有)?

为啥 Psyco 使用大量内存?