哪个更快,python的网页或php的网页?
有谁知道如何使用php制作的类似的网站(或任何其他框架)的速度? 我知道通过cgi服务python基本网页比php慢,因为它每次都有很长的启动时间。
我喜欢使用挂架,如果它比php慢,我仍然会使用它。 但是如果塔比PHP快,我希望最终能说服我的雇主让我把这个网站转换成塔。
这听起来像你不想比较两种语言 ,但是你想比较两个networking系统 。
这很棘手,因为涉及到很多variables。
例如,Python web应用程序可以利用mod_wsgi与Web服务器进行通信,这比PHP与Web服务器通信的任何典型方式都要快(即使mod_php在使用Apache时速度也会变慢),因为Apache只能使用带有mod_php的Prefork MPM而不是象Worker这样的multithreadingMPM)。
还有代码编译的问题。 如你所知,当文件每次改变时运行一个文件,Python就会及时编译成字节码(.pyc文件)。 因此,在第一次运行Python文件之后,跳过编译步骤,Python解释器只读取预编译的.pyc文件。 正因为如此,有人可能会认为Python在PHP上具有本地优势。 但是,可以为PHP网站(我最喜欢的是eAccelerator )安装优化器和caching系统,效果大致相同。
总的来说,有足够的工具可以使其他人可以完成的任何事情都可以完成。 当然,正如其他人所提到的那样,在商业案例中,转换语言不仅仅涉及速度。 我现在的雇主在oCaml上有一个应用程序,结果是一个错误,因为原来的作者离开了公司,没有其他人想要碰它。 同样,PHP-Web社区比Python-Web社区要大得多, 网站托pipe服务比Python支持更有可能提供PHP支持; 等等
但回到速度。 你必须认识到这里的速度问题涉及许多移动部分。 幸运的是,这些部分中的许多部分可以独立优化,为您提供各种途径来提高性能。
试图说服你的雇主从PHP移植到Python,没有任何意义,尤其是对于现有的系统而言,这并不意味着我认为你暗示了你的问题。
原因是你已经有一个(可能是)工作系统,现在已经投入了时间和精力(和经验)。 放弃这个赞成微不足道的performance(不是我声称会有的)会是愚蠢的,任何值得他的盐的经理都不应该赞同这一点。
这也可能会带来一个可维护性的问题,这取决于还有哪些人需要使用系统,以及他们使用Python的经验。
我假设PHP(> 5.5)对于复杂的Web应用程序更快,更可靠,因为它针对网站脚本进行了优化。
你将在网上find的许多基准只是为了certificate所喜欢的语言更好。 但是你不能将两种语言与运行X次的math任务进行比较。 对于一个真正的基准testing,您需要两个类似的框架,包含数百个类/文件,一个运行100个客户端的Web应用程序。
PHP和Python是相似的,不用担心任何types的切换。
只要不花钱转换代码(你不需要免费编写代码?),只需要购买更多的硬件,就可以大大减less从一种语言切换到另一种语言的性能提升。
这是一样的。 差别不应该大到足以成为select其中一个的原因。 不要试图通过编写自己的微小基准( "hello world"
)来比较它们,因为您可能没有能够代表真正的网站生成更复杂的页面的结果。
如果没有损坏,请不要修复。
只要写一个快速的testing,但要记住,每种语言都会比其他function快一些。
看看编程语言枪战:
你需要能够做出切换的商业案例,而不仅仅是“更快”。 如果一个build立在技术B上的网站在一段时间(比如说3年)的开发时间内花费了20%以上的维护费用,那么将另一个networking服务器添加到运行技术A的系统来弥补性能差距可能会更便宜。
只是说“我们应该切换到技术B,因为技术B 更快! ”并不真正的工作。
由于Python远不如PHP那么普遍,如果主机,开发人员和其他维护成本(长期)适合这种情况,我不会感到惊讶。
除非可用性成为问题,否则一个信息系统组织不会考虑这个问题。
如果是这样的话,看看复制,负载平衡和大量内存。
唯一正确的答案是“这取决于”。 有很多variables会影响性能,在任何情况下都可以优化许多事情。
我不得不在我的新工作中重新开始Web开发,如果不是Pylons / Python,也许我会select在丛林中生活:)在我的主观意见中,PHP是幼儿园,我在第三年我相信,许多自尊心(或过高评估)的软件工程师不想被PHP代码困扰。
为什么我的雇主同意? 我们(团队)刚刚切换到Python,他们没有太多的话要说。 该网站仍然是,将是PHP,但我们正在开发其他应用程序,包括networking,在Python中。 塔的优点? 你可以将你的python库集成到web应用程序中,那就是imho,这是一个巨大的优势。
至于表演,我们仍然有麻烦。