Python的速度足够了还是应该使用Pyrex?

2024-06-16 08:33:52 发布

您现在位置:Python中文网/ 问答频道 /正文

信息: 我用的是Django。 问题: Python的速度是否足以提供一个低延迟的web服务,或者我应该使用Pyrex将我的函数转换成C?在


Tags: django函数web信息速度pyrex
3条回答

如果你想把你还没写过的代码翻译成C语言,那么你最好从一开始就用C语言编写web服务。这样你就可以得到尽可能低的延迟。在

真的,你唯一能知道的方法就是试试看。如果您开始遇到性能问题,那么是时候分析一下,看看是代码执行,还是其他什么东西导致了延迟。在

我个人认为你不会有问题。但话说回来,这取决于您的web服务到底在做什么。在

很多人使用Python来实现web服务(因此Django就存在了),并且发现它的延迟足够低。所以在某种意义上,答案是一个微不足道的“是”。在

正确的回答需要更多的信息和研究,并不适合SO的格式。对于初学者来说,你需要知道“足够快”有多快(即便如此,你还需要弄清楚由于其他因素,比如网络延迟,会有多少延迟)。显然,这也取决于你的实现是什么;如果你的程序所做的只是从数据库中获取记录,那么无论你使用纯Python还是C.OTOH,代码的执行可能会被数据库和网络延迟相形见绌,如果你正在解决任意大的NP-hard计算问题,Python可能开始看起来像一个没那么吸引人。OTOOH,如果您正在解决非常棘手的实现计算问题,Python可能会极大地减少您获得服务所需的时间,慢服务通常比不存在的服务更可取。在

在没有实际的具体知识的情况下,其他用Python编写的web服务的存在使我直觉地认为,使用Python可能会很好,您应该直接去做,然后看看是否有任何性能瓶颈可以从除虫中获益。有一句常见的“过早的优化是万恶之源”这句话要考虑;在编写任何代码之前,考虑优化还为时过早。只要不是盲目地明显地认为您的方法永远不会足够快,那么就使用最简单的实现,然后再加速它。在

相关问题 更多 >