【发布时间】:2014-11-26 19:46:55
【问题描述】:
测试脚本:
#!/usr/bin/php
<?php
require __DIR__.'/../www/autoload.php';
$start = microtime(true);
$mem = memory_get_usage(true);
$resp = new \Symfony\Component\HttpFoundation\Response();
$elapsed = (microtime(true)-$start)*1000;
$used_mem = memory_get_usage(true)-$mem;
echo number_format($elapsed,2)." ms\n";
echo number_format($used_mem/1024,1)." KiB\n";
输出:
2.25 ms
256.0 KiB
有趣的是,如果我把它放在一个循环中,成本并没有增加多少:
$resp = [];
for($i=0; $i<100; ++$i) {
$resp[] = new \Symfony\Component\HttpFoundation\Response();
}
6.73 ms
512.0 KiB
但我只需要一个响应,所以这并不特别重要。
查看the constructor 的Response,它几乎没有任何作用。它只是初始化了一些变量。
2ms 是我响应时间的重要组成部分,如果可能的话,我真的很想把它缩短。
【问题讨论】:
-
这不是
Response类定义的自动加载吗? -
@TomaszMadeyski 没有考虑自动加载。那肯定是一个因素。我使用的自动加载器甚至不是作曲家。情况更糟。
标签: php performance symfony symfony-http-foundation