Bei Java ist es ja bekannt dass man
setAccessible(true) setzen sollte, wenn man mit Reflections arbeitet. Deswegen habe ich mich gefragt, ob es bei PHP genaus so ist und ob man auch hier einen Unterschied feststellen kann. Ich kam zu folgenden Ergebnis beim lesen eines public Properties in iner Klasse:
100000x: 0.061945 (accessible nicht geändert)
100000x: 0.036735 (accessible=true)
Der Unterschied fällt nicht immer so stark aus, aber ist doch immer sehr deutlich.
Und weil ich schon mal dabei war hier ein Vergleich für 10000 Durchläufe von serialize() und json_encode():
serialize: 0.05022
json_encode: 0.027367
und einmal wieder zurück:
unserialize: 0.047767
json_decode: 0.03802
Wenn man also vorhat ein Objekt oder sogar mehrere irgendwo zwischen zu speichern, sollte man überlegen ob nicht eine JSON-Codierung die bessere Wahl ist. Es werden natürlich nur die public Felder mit json_encode gelesen. Hier muss man einfach von Fall zu Fall gucken was besser passt.
preg_match und strpos sind nicht ganz so spannend:
preg_match: 0.178778
strpos: 0.127647