Следует ли оптимизировать переключатели вручную с помощью таблиц поиска на C++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Следует ли оптимизировать переключатели вручную с помощью таблиц поиска на C++?

Сообщение Anonymous »

Многие комментарии к SO предполагают, что компилятор знает, как оптимизировать операторы переключения. Я полагался на это предположение, чтобы сформулировать свой (очевидно, неверный) ответ о рефакторинге таблицы поиска. Я предположил, что оптимизация таблицы поиска больше не актуальна для операторов переключения и стала стилистическим выбором.
Однако тест показывает, что переключатель работает как минимум в 4 раза (больше в зависимости от компилятора) медленнее, чем поиск. Даже на небольших клавиатурах.

Код: Выделить всё

const std::array lookupTable;
std::string_view lookupMonth(int i) {
return lookupTable[(i>=0&&i

Подробнее здесь: [url]https://stackoverflow.com/questions/79721194/should-switches-be-manually-optimized-with-lookup-tables-in-c[/url]
Ответить

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

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

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

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

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