【问题标题】:Is a php framework really make a very big(or all) difference in performance e.g Yii vs phalcon [closed]一个 php 框架真的会在性能上产生很大(或全部)差异吗,例如 Yii vs phalcon [关闭]
【发布时间】:2015-08-20 06:11:19
【问题描述】:

好的,让我从头开始,我加入了一个由 5 人组成的新团队,用于一个新的非常大的项目,流量巨大。我有 4 年的经验,其他人则有 10 年以上的经验。讨论是关于选择一个 php 框架来构建应用程序。有关注和计划是选择一个最快的框架。他们提出了Phalcon(以前没有人研究过),我在讨论中添加了我的观点,因为使用 phalcon 我们无法深入研究代码,而且他们的社区不是很大,所以如果我们被困在某个地方,它会是我们很难满足交货日期(公司非常关心交货日期)但是他们拒绝我的观点,说没有其他框架很慢,他们无法处理大流量,如果我们使用其他框架,最终响应时间会很慢框架。我反驳说,项目性能不太依赖于框架(是的,它确实如此,但只是框架不能使项目更快),而是更多地依赖于它的正确实现,比如优化的代码、良好的缓存机制、良好的服务器配置,但他们拒绝了我的一切意见把一些数字像

Phalcon is 50 times faster than Yii (I was recommending Yii), GO language is 70 times faster than PHP etc.

我的问题来自这里的专家,框架真的有这么大的不同吗?因为我对他们的观点以及他们告诉我的数字不满意,我不知道他们从哪里得到的快 50 倍. 抱歉英语不好,这不是我的母语。

【问题讨论】:

  • 这是一个意见问题,因此不太适合这里。但是对于我的 0.02 美元:only 对所有事情的有效论点是“使用正确的工具来完成工作”。这是每个项目都要评估的东西。与普通 PHP 相比,使用某种框架/库对我个人来说是一个给定的,因为您可以专注于您的项目,而不必编写支持代码。除此之外:见我最初的评论。
  • 我不想讨论使用哪个框架,显然这可能是一个选项问题。我要问的是,项目性能真的那么依赖框架吗?
  • 这仍然部分基于意见。没有通用的速度测试之类的东西,但你在下面有我的答案,因为我同意速度是决定使用什么技术的最后一件事。
  • Phalcon 是用 Zephir 编写的,因此您可以在必要时挖掘源代码,或者构建自己的版本。

标签: php performance frameworks yii2 phalcon


【解决方案1】:

Phalcon 比 Yii 快 50 倍(我推荐 Yii),GO 语言比 PHP 等快 70 倍。

TL;DR: 如果是这样呢? 我们已经到了添加更新/更快服务器的成本只是添加开发人员价格的一小部分的一天。

如果我必须为一个新项目选择一种工具/技术,我会这样做是因为:

1.我可以使用它/快速学习如何使用它

开发人员很昂贵。他们有更多的时间可以生产,就更好了。

2。它得到了很好的支持和维护(最好是由操作系统社区)

如果发现错误或安全问题,应尽快修复。如果新版本的 PHP 出现,我希望该工具仍然可以工作(或快速跟进)。

个人笔记:出于这个原因,我一直有点害怕 Phalcon。尽管 PHP API 版本不会经常更改,但我需要一个兼容的扩展来让我的网站上的任何东西工作的想法是可怕的。

3.它使我更容易维护我的代码。

正如我所提到的:速度是相对的。我永远不会选择一个工具,因为有人声称它比 YX 倍。我需要一些能让我编写易于维护的代码的东西。与在 AWS 上添加新实例相比,开发人员的时间非常昂贵。所以我编写代码是为了清晰和可支持性,而不是速度。谁在乎模板是在 0.001 秒还是 0.0005 秒内呈现。

4.它可以帮助我实现目标而不妨碍我。

一些框架希望你在所有事情上都使用他们的代码,并且不允许你自己做任何事情(是的,我在看你 Symfony!)

从这个意义上说,我从 Yii 发布之日起就喜欢它:它支持和扩展任何东西,但如果你想自己做事,你可以这样做。 它不会妨碍您,因为它只是一组构建块,如果您需要它就在那里。我认为 Yii2 在这方面继续并改进了。 但是,嘿,自从我通过 Yii2 标签发现了这个问题,我显然有偏见。

总而言之……速度确实很重要。没有人想要一个缓慢的网站。 但这应该是在满足其他所有需求之后的最后一个决定点。
总成本应该是决定因素。

仅供参考:
你是对的,Yii 很快。对于 Phalcon 来说是安全的(但在性能方面没有什么能比已编译的扩展更好),它是当时相当长一段时间内“启动时间”最快的框架。

【讨论】:

    【解决方案2】:

    这可能有助于减少代码行数,但这并不一定意味着项目会更快完成。就我而言,我更喜欢使用 MVC,因为我更熟悉某些框架。

    【讨论】:

      猜你喜欢
      • 2010-12-27
      • 2012-09-03
      • 2015-09-27
      • 2011-04-05
      • 1970-01-01
      • 2018-03-17
      • 2010-12-26
      • 2022-10-01
      • 2018-09-04
      相关资源
      最近更新 更多