Durée d'exécution des fonctions de chaînes PHP

Voici quelques chronométrages d'instructions en millisecondes sur un E8400 :

Taille de $bigstring = 1 089 535 caractères

Chronométrage de quelques instructions PHP (en ms) :

2.98$xxx=md5($bigstring)
3.99$xxx=sha1($bigstring)
2.82$xxx=crc32($bigstring)
2.94$xxx=md5($bigstring)
3.99$xxx=sha1($bigstring)
2.82$xxx=crc32($bigstring)
3.24$xxx=quotemeta($bigstring)
2.84$xxx=convert_uuencode($bigstring)
70.27$xxx=explode(' ', $bigstring)
0.10$xxx=strlen($bigstring)
0.84$xxx=strrev($bigstring)
1.37$xxx=strtoupper($bigstring)
4.70$xxx=strip_tags($bigstring)
9.97$s=0; for($l=1; $l
7.96$xxx=strip_tags($bigstring,'')

Les performances calamiteuses de l'instruction explode() rappellent que la gestion dynamique de mémoire, ainsi utilisée à haute dose, est coûteuse.

strlen() et strrev() réalisent en revanche de bonnes performances. Il semble d'ailleurs étrange à première vue que strrev() se montre plus rapide que strtoupper(), mais le $LOCALE doit y avoir sa part de responsabilité.