История изменений
Исправление monk, (текущая версия) :
можете написать тестик - что быстрей вызов фиксированной функции после двух джампов по условию. или вызов функции из таблицы 3*3.
5 лет назад до трёх джампов было быстрее вызова. Размер таблицы роли не играл. Начиная с четырёх было быстрее по таблице.
Сейчас так: https://godbolt.org/z/66bqao3MK
Если в switch четыре ветки, в ассемблере условия. Если 5 и больше, то переход по таблице.
Вот это https://godbolt.org/z/Eacv5v6jx в таблицу не превращает.
Исходная версия monk, :
можете написать тестик - что быстрей вызов фиксированной функции после двух джампов по условию. или вызов функции из таблицы 3*3.
5 лет назад до трёх джампов было быстрее вызова. Размер таблицы роди не играл. Начиная с четырёх было быстрее по таблице.
Сейчас так: https://godbolt.org/z/66bqao3MK
Если в switch четыре ветки, в ассемблере условия. Если 5 и больше, то переход по таблице.
Вот это https://godbolt.org/z/Eacv5v6jx в таблицу не превращает.