Сегодня через тесты писал систему авторизации в новом проекте. Заметил, что по сравнению с практически любыми другими тестами они выполнялись очень медленно, хотя там работы ноль — сравнить почту и пароль в базе. Даже тесты на создание заказа с тяжёлыми запросами и логикой выполняются в среднем быстрее.
Полез искать в чём дело и выяснил, что всё упирается в функцию password_hash(). Как оказалось, она намеренно сделана медленной для повышения безопасности. Грустно, конечно, но оптимизировать безопасность, пожалуй, дело не самое лучшее.
Подробнее тут: https://stackoverflow.com/questions/30215781/why-is-password-hashing-e-g-phps-password-hash-so-slow
Добавить комментарий