LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Не используй std::unordered_map, он медленный шо пипец. Используй abseil flat_hash_map. Я гонял тесты, на некоторых конфигурациях разница достигала 3-5 раз. И это без всякого параллелизма. Ощущение, что его засунули в STL просто для галочки, чтобы был. Или чтобы можно было учить студентов программированию «знакомьтесь, это хештаблица» без подключения либ.

А ещё бывает, что std::map быстрее (в 2-3 раза), чем хештаблица (любая), но зависит от данных, конечно. Так то O(1) у хештаблицы это «в среднем», а O(logN) у std::map во всех случаях.

Я бы в первую очередь побенчил std::map, во вторую подключил abseil flat_hash_map, если можно подключать либы, и только в последнюю очередь тыкался бы с std::unordered_map.

Исправление KivApple, :

Не используй std::unordered_map, он медленный шо пипец. Используй abseil flat_hash_map. Я гонял тесты, на некоторых конфигурациях разница достигала 3-5 раз. И это без всякого параллелизма. Ощущение, что его засунули в STL просто для галочки, чтобы был. Или чтобы можно было учить студентов программированию «знакомьтесь, это хештаблица» без подключения либ.

А ещё бывает, что std::map быстрее (в 2-3 раза), чем хештаблица (любая), но зависит от данных, конечно. Так то O(1) у хештаблицы это «в среднем», а O(logN) у std::map во всех случаях.

Исправление KivApple, :

Не используй std::unordered_map, он медленный шо пипец. Используй abseil flat_hash_map. Я гонял тесты, на некоторых конфигурациях разница достигала 3-5 раз. И это без всякого параллелизма. Ощущение, что его засунули в STL просто для галочки, чтобы был. Или чтобы можно было учить студентов программированию «знакомьтесь, это хештаблица» без подключения либ.

А ещё бывает, что std::map быстрее (в 2-3 раза), чем хештаблица (любая), но зависит от данных, конечно.

Исправление KivApple, :

Не используй std::unordered_map, он медленный шо пипец. Используй abseil flat_hash_map. Я гонял тесты, на некоторых конфигурациях разница достигала 3-5 раз. И это без всякого параллелизма. Ощущение, что его засунули в STL просто для галочки, чтобы был.

А ещё бывает, что std::map быстрее, чем хештаблица (любая), но зависит от данных, конечно.

Исправление KivApple, :

Не используй std::unordered_map, он медленный шо пипец. Используй abseil flat_hash_map. Я гонял тесты, на некоторых конфигурациях разница достигала 3-5 раз. И это без всякого параллелизма.

А ещё бывает, что std::map быстрее, чем хештаблица (любая), но зависит от данных, конечно.

Исправление KivApple, :

Не используй std::unordered_map, он медленный шо пипец. Используй abseil flat_hash_map. Я гонял тесты, на некоторых конфигурациях разница достигала 3-5 раз.

А ещё бывает, что std::map быстрее, чем хештаблица (любая), но зависит от данных, конечно.

Исходная версия KivApple, :

Не используй std::unordered_map, он медленный шо пипец. Используй abseil flat_hash_map. Я гонял тесты, на некоторых конфигурациях разница достигала 3-5 раз.