测试脚本:
#!/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
但我只需要一个回应,所以这并不特别重要。
查看的构造函数,Response
它几乎没有做任何事情。它只是初始化了一些变量。
2ms 是我响应时间的重要组成部分,如果可能的话,我真的很想把它弄下来。