約 6350268 文字の文字列があり、それらをブラウザーに出力すると、少なくとも 700 ミリ秒かかりますが、通常は出力に 900 ミリ秒から 1000 ミリ秒の余分な実行時間がかかります。
生成には約 300 ミリ秒しかかかりませんが、合わせるとほぼ 1 秒になります。
エコー出力を高速化する方法はありますか? または、出力先のブラウザによって制限されますか?
// What this code does is take about 20.000 urls in the database and
// and transform it into a collapsable folder tree
// this process generates about 6300000 characters in about 300ms.
$this->benchmark->mark('code_start');
$query = $this->db->query("SELECT `url` from `site_pages` WHERE `url` not like '' order by `url` ASC");
$arr = array();
foreach($query->result() as $result)
{
$arr[$result->url] = $result->url;
}
$tree = $this->explodeTree($arr,'/',true);
$str = $this->plotTree($tree);
echo $str;
$this->benchmark->mark('code_end');
echo $this->benchmark->elapsed_time('code_start', 'code_end');
echo "<P>done";