Mist! Dümmster aller Messfehler! Template ist nicht so schnell wie gedacht.
bearbeitet von Raketenwilli> Das braucht 10 Mal so lange…
**Ich habe Mist gemessen. Asche auf mein Haupt.**
Ich hab versehentlich die Vorlage für das Skript getestet.
Was ich also **wirklich** gemessen habe **hat gar nichts ausgegeben**.
~~~PHP
<?php
# 5.php
$row["user"]="fritz";
$row["score"]=34;
$row["timestamp"]='2022-12-30';
for ($i=1;$i<100000;$i++):
?>
'user: '<?=$row['user'];?>' - score: '<?=$row['score'];?>' '<?=$row['timestamp'];?>'<br>';
<?php
endfor;
~~~
~~~
real 0m1,032s
user 0m0,533s
sys 0m0,468s
~~~
Und liegt damit sogar [im Bereich des schlechtesten Ergebnisses](#m1805146):
~~~
time 1.php > /dev/null
real 0m1,026s
user 0m0,523s
sys 0m0,472s
~~~
So nebenher, bevor jemand fragt: Ein explizites `implode()` mit einem als Konstante definierten Trenner lag zwischen Konkatenieren (das ist schneller) und der Übergabe als Liste (ist langsamer)
~~~PHP
<?php
# 6.php
define ('DELIM', '');
$row["user"]="fritz";
$row["score"]=34;
$row["timestamp"]='2022-12-30';
$arr=[ 'user: ', $row['user'], ' - score: ', $row['score'], ' ', $row['timestamp'], '' ];
for ($i=1;$i<100000;$i++) {
echo implode( DELIM , $arr );
}
~~~
→
~~~
real 0m0,298s
user 0m0,153s
sys 0m0,108s
~~~