Перебором? От размеров зависит. По маленькому слайсу может оказаться быстрее.
Мне кажется мапа более развита в этом плане чем слайс.
размер максимум 7 элементов, обычно около 3. надо искать вхождение элемента в слайс/мапу (if value in slice)
Лучше через swith case гони)
Слайс точно будет быстрее на таких размерах.
Почему пройтись по N элементам быстрее, чем константа?
Потому что ее нетривиальным образом нужно пересчитать в адрес элемента. А слайс такого размера может целиком в cache line лежать. Даже обращений к памяти не будет или будет только 1.
Обычно на практике далее по коду всегда уходишь от слайса, может тогда лучше сразу?)
Написано так "размер максимум 7 элементов, обычно около 3. "
Ну я бы лучше предпочел знать место у мапы, чем рандомно выбирать из слайса.
Нет проблем, но вопрос был в том, что быстрее. Этот тот случай, когда О(1) может быть медленнее O(N) из-за стоимости выборки.
Обсуждают сегодня