3v4l.org

run code in 500+ PHP versions simultaneously
<?php $size = pow(2, $length = 14); $initial_colliding = [ 'Ex', 'FW', ]; $initial_size = count($initial_colliding); $start = microtime(true); for($i=0; $i<($size);$i++) { $s = str_pad(base_convert($i, 10, $initial_size), $length, '0', STR_PAD_LEFT); $strings1[strtr($s, $initial_colliding)] = 0; } $end = microtime(true); echo "Inserting $size evil elements took " . number_format($end - $start, 10) . " seconds \n"; $start = microtime(true); $key = 'aaaaaaaaaaaaaaaaaaaaaaaaa'; for($i=0; $i<($size);$i++) { $s = str_pad(base_convert($i, 10, $initial_size), $length, '0', STR_PAD_LEFT); $evil_key_generated = strtr($s, $initial_colliding); $strings2[$key] = 0; $key++; } $end = microtime(true); echo "Inserting $size good elements took " . number_format($end - $start, 10) . " seconds \n";

preferences:
47.8 ms | 686 KiB | 5 Q