Скорость работы array_intersect — реальная скорость и есть ли альтернативы?
Спасибо PQR за наводку на прекрасную презентацию, собственно удалось разогнать операцию на два порядка (в 100 раз). Надо использовать только ключи в массиве и пересекать их (array_intersect_key), а не значения. Пересечение делается через хэш, а не перебором значений (как в array_intersect).
Изменения такие:
$res[] = mt_rand($min, $max) - меняем на - $res[mt_rand($min, $max)] = true;
И меняем array_intersect на array_intersect_key.
PS Самое интересное, что где-то на Stackoverflow я видел такой совет, но не понял, как им воспользоваться. Пример в презентации по ссылке выше решил вопрос.
ну а если померить не дебагом а старым дедовским методом microtime(1) - $start
вряд ли в пхп можно такое быстро посчитать, разве математическим путем каким-то
может есть смысл кешировать эти результаты? смотря что там у вас