Hallo ursus,
solche Laufzeitmessungen sind immer interessant und bin auch oft dazu verleitet, aber dabei darf man zweierlei nicht vergessen:
- wieviele solcher Konvertierungen macht man während eines PHP Requests?
- wieviele PHP Requests mit solchen Konvertierungen macht der Server pro Zeiteinheit?
Sprich: Kommen pro Script-Aufruf 3 solcher Konvertierungen vor, und der Server bekommt 1000 Requeste pro Stunde, spart man 3000 x 62µs = 186ms CPU-Last pro Stunde. Auf der Banane. Das sind, unter der Annahme dass die Banane ein single-core ist, 0,005% der CPU-Kapazität.
Auf dem AMD64 sind es 27ms oder 0,00075% der Leistung eines Kerns, wovon er aber mindestens 4 haben dürfte.
Führt man solche Optimierungen an 1000 Programmstellen durch, spart man auf dem BananaPi immerhin 5% der Kapazität ein und auf dem AMD64-Core 0,75%.
PHP ist dafür gemacht, ohne viel Grübeln über Algorithmen zu einem Ergebnis zu kommen. Wenn der Server mit dem Ergebnis überlastet ist, weil zu viele User kommen, bringen Mikrooptimierungen wie diese hier nur minimale Abhilfe. Sowas lohnt nur, wenn der fragliche Code extrem häufig aufgerufen wird.
Die Laufzeitprobleme entstehen eher bei externen Zugriffen (File, DB) oder wegen zu wenig Arbeitsspeicher (in dem man opcache oder memcached einsetzen könnte).
Rolf
sumpsi - posui - clusi