Следует ли оптимизировать переключатели вручную с помощью таблиц поиска на 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]

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