Как стать автором
Обновить

Интеллектуальный брутфорс: пишем головоломку и солвер для неё

Время на прочтение16 мин
Количество просмотров4.8K
Всего голосов 20: ↑20 и ↓0+20
Комментарии4

Комментарии 4

Недавно в одном из чатов по Rust поднимался вопрос производительности HashMap/HashSet в Rust по сравнению с Java. Краткий результат дискуссии - чтобы работало быстро нужно создавать HashMap/HashSet со своим хэшером, который считает хэш на основе простой операции вроде xor, например так. Используемый по умолчанию хэшер ориентирован на безопасность, поэтому работает медленнее.

Или можно не приседать с написанием своего хешера вручную и взять уже готовый, например, ahash, который даже обёртки предоставляет, позволяющий просто поменять HashMap на ahash::AHashMap.

У разработчиков языка, к слову, это в книге упоминается. Алгоритм, который использует HashMap соответственно SipHash. Ну, и лучше, наверное, вместо своих реализаций крейт подключить по типу этого. Как говорится, всё уже придумано за нас)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий