Производительность передачи итератора std::unordered_map в функцииC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Производительность передачи итератора std::unordered_map в функции

Сообщение Anonymous »

У меня есть приложение, работающее с std::unordered_map на C++. У меня есть 2 варианта:
  • Выполнить hash_map.find(key) один раз и после этого использовать один и тот же итератор в нескольких вызовах функций.< /p>
  • Или я могу выполнить hash_map.find(key) всякий раз, когда мне нужно, что будет означать, что я могу вызвать hash_map .find(key) несколько раз больше по сравнению с приблизиться к 1.
Причина, по которой я скептически отношусь к подходу 1, заключается в том, что итераторы могут стать недействительными. Каков наилучший подход в таких случаях?
У меня есть приложение, чувствительное к задержке, поэтому я хочу знать, насколько второй подход будет хуже по сравнению с подходом 1, если вообще будет. Или могу ли я ожидать, что аппаратная предварительная выборка и кэширование позаботятся о задержке?
Пожалуйста, сообщите.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -functions
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»