zu tun, wenn die Leistung von Operationen zu vergleichen ist dies, wie ich würde typicaly die Tests durchführt:bessere Art und Weise einfachen Performance-Tests
<?php
$w = 'world';
$start1 = microtime(true);
for($i=0;$i<10000;$i++)
echo 'Hello ' . $w . '!';
$end1 = microtime(true);
$start2 = microtime(true);
for($i=0;$i<10000;$i++)
echo "Hello $w!";
$end2 = microtime(true);
$start3 = microtime(true);
for($i=0;$i<10000;$i++)
echo 'Hello ' + $w + '!';
$end3 = microtime(true);
echo "\n\n\n";
echo 'Concatination: ' . ($end1 - $start1) . "\nInline Var: " . ($end2 - $start2) . "\nAddition Operator: " . ($end3 - $start3);
Gibt es einen besseren Weg, um diese Tests möglicherweise eine zuverlässigere Art und Weise zu tun? Es scheint, dass, wenn ich die gleichen Tests mehrere Male mache, dass ich sehr unterschiedliche Ergebnisse bekommen kann, zum Beispiel habe ich das oben genannte mehrere Male ausgeführt, und das ist, was ich bekommen habe.
Concatination: 0.057300090789795
Inline Var: 0.092978954315186
Addition Operator: 0.090532064437866
Concatination: 0.10458517074585
Inline Var: 0.075299978256226
Addition Operator: 0.039528131484985
Concatination: 0.063031911849976
Inline Var: 0.07781195640564
Addition Operator: 0.022316932678223
Concatination: 0.079019069671631
Inline Var: 0.030484914779663
Addition Operator: 0.096056938171387
Concatination: 0.077842950820923
Inline Var: 0.052779912948608
Addition Operator: 0.037421941757202
Concatination: 0.084203004837036
Inline Var: 0.013757944107056
Addition Operator: 0.074331045150757
Concatination: 0.027930021286011
Inline Var: 0.05648398399353
Addition Operator: 0.049610137939453
Concatination: 0.041821956634521
Inline Var: 0.047034978866577
Addition Operator: 0.062538862228394
Concatination: 0.0071420669555664
Inline Var: 0.066315889358521
Addition Operator: 0.004756927490234
Concatination: 0.088988065719604
Inline Var: 0.022722959518433
Addition Operator: 0.06276798248291
Wie Sie bei jedem Lauf sehen können, kann es sehr unterschiedliche Ergebnisse geben.
Die Wahl der String-Verkettungsmethode ist für die Leistung Ihrer Anwendung völlig irrelevant. Während Sie versuchen, ein paar Nanosekunden Ausführungszeit aus der String-Verkettung herauszuholen, haben Sie wahrscheinlich eine O (n^3) verschachtelte Schleife oder eine nicht indizierte Abfrage irgendwo, die für 8 Sekunden ausgeführt wird. Außerdem haben Sie eine vierte Form vergessen: echo 'Hallo', $ w, '!'; –