usamos md5 como un algoritmo hash en muchas partes de nuestro código.¿cuál es el algoritmo de hash de mayor rendimiento disponible en php cuando la seguridad NO está en juego?
la seguridad en este contexto NO es un problema. simplemente usamos md5 como un método para generar un identificador único para almacenar varios elementos en la APC, etc.
colisiones son un problema. aunque improbable, causaría algunos problemas importantes.
alguien quiere sugerir algo más ligero en la CPU?
gracias.
acabamos de hacer algunas pruebas con md5 vs crc32.
usando el siguiente fragmento:
<?
$start=microtime(true);
for($i=1;$i<=1000000;$i++){
md5(rand(10000000,99999999)); <--- crc32 tested here too.
}
$end=microtime(true);
echo $end-$start."\n";
?>
hay resultados son los siguientes:
md5:
1.4991459846497
1.7893800735474
1.4672470092773
crc32:
0.97880411148071
0.94331979751587
0.93316197395325
por lo que parece crc32 es aproximadamente 1/3 más rápido que usar md5.
hemos optado por ir con crc32. hacemos una tonelada de registro de errores para que cualquier colisión salga bastante rápido. Gracias por la respuesta detallada. –