Ужасная производительность PHP in_array (). Самый надежный способ поиска в массиве значения

У меня есть следующий простой код для проверки на столкновение с созданным мной первичным ключом:

$machine_ids = array();

for($i = 0; $i < 100000; $i++) {
    //Generate machine id returns a 15 character alphanumeric string
    $mid = Functions::generate_machine_id();

    if(in_array($mid, $machine_ids)) {
        die("Collision!");
    } else {
        $machine_ids[] = $mid;  
    }
}

die("Success!");

Есть идеи, почему это занимает много минут? Как бы то ни было, чтобы ускорить это?

11
задан hakre 9 September 2013 в 12:35
поделиться