【问题标题】:Does using a PHP framework affect performance? [closed]使用 PHP 框架会影响性能吗? [关闭]
【发布时间】:2011-04-05 04:19:11
【问题描述】:

如果我使用 Code Igniter 或 Cake Framework,会影响我的应用程序的性能吗?

【问题讨论】:

  • Codeigniter 应该是目前最快的 php 框架之一,那是因为它默认不包含任何内容,每次您需要一个功能时,您只需将其包含在您的项目中我'我不太了解其他框架,但使用框架的好处比性能问题更深...
  • +1 撤消反对票。这是一个合法且有用的问题,反对票是不合理的。如果它是基于问题是重复的,那么在您投反对票时提供指向原始问题的链接。
  • @Majid:在这个问题的底部重复:stackoverflow.com/questions/1670003/…

标签: php performance frameworks


【解决方案1】:

如果将性能定义为执行速度,那么答案是

  • 是的,它会降低性能 - 总是这样。

框架提供了对 PHP 原生函数的抽象。每当您将抽象放在某物上时,都会招致加载抽象并调用它的功能的惩罚。框架通常是通用抽象,可以满足很多用例。解决应用程序中的特定 UseCase 可能会用较少的抽象来解决。

但是使用框架,您可以获得更好的模块化、更快的开发时间(如果您了解框架)、更好的可维护性和(希望)经过测试的代码,这通常是值得的。这并不是说始终使用框架,而是始终考虑权衡 - 然后决定。

至于基准,好吧,看看

【讨论】:

  • 对于初学者来说,学习和切换不同框架所花费的时间呢
  • @NAVEED 这就是我写“如果你知道框架”的原因。还有I still believe beginners of PHP should not use frameworks
  • “总是”太强了。 php 文档中的一个随机示例: md5_file() 是对 fopen() 的抽象; md5(); fclose();,但使用抽象可能比不使用的性能更好。有很多“取决于”的问题。请记住,我们必须比较 YourCode 与 YourCode+Framework。例如,如果该框架可以轻松进行缓存,而您自己没有时间编写,那么使用该框架可能会产生更好的应用程序。
  • @Douglas md5_file 是一个原生 PHP 函数。当我在这里谈论抽象时,我是在谈论 Userland 实现,因为这就是框架。此外,我并不是说编写自己的抽象对于每个开发人员来说总是更快。这确实取决于个人技能。我的观点是,框架通常提供更多抽象,您需要解决具体问题。当您只使用memcached 时,您的框架的缓存模块可能会提供多个后端适配器。直接使用memcached 将比通过顶部的额外抽象使用它更快。
【解决方案2】:

看这里,PHP framework comparison benchmarks

但是,如果您需要非常快的性能,我建议您使用 Yii,因为它的 awesome performance.:

【讨论】:

  • 它甚至有 jquery ajax 支持,非常棒,deos yii 有一个活跃的社区!!
  • 是的,250 多个扩展:yiiframework.com/extensions 和很棒的论坛:yiiframework.com/forum
  • -1 因为基准对于所有实际目的都是无用的。它们仅在您对与您尝试解决的相同现实世界问题进行基准测试时才有用。所以这主要是营销宣传(因为最终的现实世界应用程序性能将更多地取决于您的编程技能,而不是您选择的框架的“速度”......
  • 我没有投反对票,但即使基准测试没有任何暗示意义,那篇文章已有两年之久,只能提供有关当时框架性能的指标。
  • 他是在问不同框架的性能,还是问在项目中使用框架时对性能的影响????
【解决方案3】:
【解决方案4】:

可能的缺点:(有时取决于您的项目)

  • 不同的框架有不同的编码约定。这些你要学会
  • 有时您会找不到任何可能对您有用的库。
  • 不适用于小型项目。简单的项目自定义编码将比设置框架更快。
  • 额外的开销可能会影响性能
  • 不一定更安全(您需要注意更新等)
  • 定制难度大得多
  • 需要时间来学习和掌握

如果你想比较不同的框架。

【讨论】:

  • 所以如果我有大型项目自定义编码,那将更快!然后使用 php 框架
  • @Solomon Saleh:是的。 PHP 框架对于小型项目不是很有用。
  • 这篇文章和 cmets 没有任何意义。
  • @NAVEED PHP 框架将大大简化您在开发过程中的工作(即使是小型项目),不是吗?哦,如果性能不是那么重要(比交付时间),我们应该使用这些框架。毕竟计算机是用来计算和让生活更简单的。
  • 你是认真的吗?!他在谈论一个应用程序而不是一个简单的脚本......看起来你只是想插入你自己的帖子。不错。
猜你喜欢
  • 2014-03-12
  • 2011-02-22
  • 2021-04-18
  • 2010-09-26
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 2012-10-09
  • 1970-01-01
相关资源
最近更新 更多