【问题标题】:What PHP chunk of code is FASTER?什么 PHP 代码块更快?
【发布时间】:2011-09-22 15:31:43
【问题描述】:

我们都知道 xHTML/CSS 和 JS 的缩小和压缩有利于大流量网站。

看看下面的代码:

include("template.funcs.php");
include("country-redirect.php");
if(($country=='PL')||($country=='POL'))
{
    header('Location: index_pol.php');
    exit();
}
$include_path = './global_php/';
$page = "couture";
include $include_path."shop.inc.php";
$movie_num = 1 ;

现在看看缩小版:

include("template.funcs.php");include("country-redirect.php");
if(($country=='PL')||($country=='POL')){header('Location: index_pol.php');
exit();}
$include_path='./global_php/';$page="couture";include $include_path."shop.inc.php";
$movie_num=1;

您认为哪个更快 - 一般来说,我也想开始缩小我的编程,小的 var 和字符串名称,如 $a 而不是 $apple,并尝试删除尽可能多的额外字符。 PHP 编译器会喜欢压缩的块还是间隔的块?

【问题讨论】:

    标签: php compression minify


    【解决方案1】:

    PHP 编译器会喜欢压缩块还是间隔块?

    没关系。这些之间的任何差异最多只能在微秒内。

    让代码可读是唯一重要的事情。

    【讨论】:

    • 谢谢你们的回答。因此,即使我有一个名为 index.php 的 PHP 文件,其中包含大约 5000 个换行符和底部的 hello world echo,它仍然会快速加载吗?
    • 通过缩小 PHP 代码节省的解析时间绝对是微不足道的。除非您是一位为每一行实际代码编写“战争与和平”类型的史诗 cmets 的多产评论者,否则除非您正在运行 facebook 大小的操作,否则您不会看到加载/解析时间的任何有用差异。
    【解决方案2】:

    PHP 代码保留在服务器上,因此它的大小基本上无关紧要。

    删除这些换行符是一个非常糟糕的想法。使您的代码对人类可读。

    【讨论】:

    • 所以基本上我可以拥有PHP文件;带有缩进、cmets 和包含的函数文件,以及这些文件中包含库中的库和类,它位于服务器端,因此用户永远不会受到影响?
    • 用户(浏览器)唯一看到的是你的 PHP 输出的内容。如何布局 PHP 代码本身无关紧要。
    • 我指的是性能方面。即使它是服务器存储的。例如,想象一个 100mb 的包含文件,然后是 echo hello world 与没有包含的 echo。
    • 如果您有一个仅打印“hello”的单行 PHP 文件,而不是 一个由复杂代码结构和大量初始化以及数据库检查和所有内容组成的庞大框架打印“你好”,那么是的,第一个很可能会更快。如果实际源代码的区别是单个文件而不是代码合理地分成几个标题但工作量相同,那么区别只在于速度有多快您的操作系统读取文件。对于合理的设置,这将毫无意义。
    【解决方案3】:

    PHP 不在乎您的代码是否被缩小。

    编写代码,以便您以后可以干净地编辑它。缩小对性能没有可衡量的影响。

    您看到缩小的 CSS/JavaScript 的原因不是为了解析/执行速度……而是为了减少数据传输的文件大小。您的 PHP 在服务器端进行处理。发送的唯一内容是代码的输出。

    【讨论】:

      【解决方案4】:

      缩小版不会更快,原因有两个:

      • 脚本不是发给客户端,而是解释,然后是结果 已发送
      • 缩小 php 脚本对性能的影响很小

      如果你想植入你的 php 代码,你可以安装一个php accelerator

      【讨论】:

        【解决方案5】:

        正如其他人所说,缩小 PHP 代码不会对执行速度产生真正的影响。这就是你问题的答案,但我认为这句话也很相关:

        始终编写代码,就好像最终维护您的代码的人将是 知道你住在哪里的暴力精神病患者。

        请不要缩小代码的主要版本。请不要使用像$a 这样的变量名来代替$apple。阅读和理解您的代码的能力远比您可能从缩小中获得的任何空间节省或边际速度提升更有价值。

        【讨论】:

          【解决方案6】:

          好吧,当 PHP 引擎解析器对您的代码施展魔法时,它会自动删除所有空白并以任何方式进行转换。如果您开始接收兆字节的文本,差异可能是 1/10 秒。但这只是解析文件的网络服务器。

          如果您想要真正的头顶创意,请在 Google 上搜索“最佳 PHP 实践”并养成良好的习惯。我可以从你上面的 sn-p 看到你可能需要一些。只是一些建议。

          【讨论】:

            【解决方案7】:

            这真的没关系,因为它不会通过互联网传输到客户端。

            【讨论】:

              猜你喜欢
              • 2017-01-18
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-06-29
              • 1970-01-01
              • 2014-11-10
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多