使PHP代码尽可能小而不降低性能?

时间:2009-07-21 14:05:15

标签: php performance content-management-system

我正在用PHP编写内容管理系统,我希望它是世界上最小的内容管理系统。我打算让每个人都可以使用它,就像Drupal和Joomla一样。但为了使它变得非常小,我将代码更改为更小的代码。

例如,我改变了:

$info = parse_ini_file("info.scm"); /* to */ $i=parse_ini_file("info.scm");

只是为了让它更小。但是,我经常使用一些函数,比如preg_replace();.我使用它超过30次。我应该做一个像:

这样的功能
function p($p,$r,$s){preg_replace($p,$r,$s);}
//and than just use:
p($my_regex, $my_replacement, $my_string);

或者这会使一切工作变慢吗?

请注意,我的目标是让它尽可能小。

7 个答案:

答案 0 :(得分:16)

当你需要推送到客户端的代码(例如来自服务器的JavaScript)时,它是有意义的,但是当它在服务器上本地运行时,就像php一样,几乎没有(如果有的话)性能提升

答案 1 :(得分:7)

您尝试做的事情被称为“缩小”,它没有性能变化,只是缩小了程序的大小。是的,使该功能会降低程序的BYTE大小。

我确实建议保留一个非缩小版本,以使其更易于维护。也许在你发布新版本之前编写一个程序来缩小它。

答案 2 :(得分:6)

别。请不要。让我向您强调: 请不要。 已经方式太多无法读取的代码,因为完全相同的原因而无法读取正在给予。服务器上的硬盘空间(几乎)无限制,没有人关心PHP文件的大小。

答案 3 :(得分:4)

由于函数调用开销,在自己的函数中包装现有函数会损害性能。

如果您真的关心包装尺寸,请将您的CMS作为Phar-Archive提供。这些可以是bzip2压缩的,可以直接执行。请参阅http://www.php.net/manual/en/phar.using.intro.php以了解如何使用和创建Phar-Archives。

答案 4 :(得分:1)

缩小对服务器端的性能没有实际影响。编写更少的代码不会提高速度,如果您计划重新分发代码,那么它很少会引起注意,因为代码是不可理解的。

编译代码也会显着提高它的速度,但我不认为人们会喜欢在二进制模式下阅读和编写字节码来编辑你的app!在保持可读代码的同时减小大小和提高速度的唯一方法是使用更少的内存:而不是将值赋给变量然后将其传递给函数,将其直接传递给函数。

另请注意,PHP内置函数比用户定义的函数更快。

答案 5 :(得分:1)

如果您这样做,请不要以任何形式发布源代码 - 将其作为个人项目保留,以满足您的兴趣。试图尽可能减少代码体的占用空间并非完全没有价值(作为一种学习练习),但对其他任何人来说都很难与之合作,而且你不会用它赢得很多朋友:)

答案 6 :(得分:0)

在APC存在之前,这种用法是一种常用技术:

  • 删除评论
  • 缩小功能名称

因为每次运行脚本时,php都会解析并处理它。

您现在需要考虑,每次脚本运行时APC creates a bytecode和php都不需要解析。 我建议你:保持你的文件记录良好,所以任何其他开发人员都可以看到你试图做的事情。使用可以描述它们的相干函数名称。