Перейти к содержанию
    

Сравнение jump table и branch table

Вчера в Википедии в статье Branch table увидел, что массив с указателями на функции назван jump table: https://en.wikipedia.org/w/index.php?title=Branch_table (Jump table example in C)

В ряде публикаций видел подобное. Но это ведь lookup table. Здесь, например, как раз производится сравнение jump и lookup: https://stackoverflow.com/questions/3583884...bedded-software

 

jump table получается из конструкции switch, тогда как lookup из указателей на функции. Почему тогда возникает разночтение?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

jump table получается из конструкции switch, тогда как lookup из указателей на функции. Почему тогда возникает разночтение?

Все это потеряло смысл, т.е. из-за работы оптимизатора современных компиляторов при компиляции switch, например, может сформироваться именно таблица указателей на функции.

В наше время написание программы на ЯВУ свелось к написанию наиболее удобного в каждом конкретном случае, для конкретного программиста исходника без связи с тем, во что он будет разворачиваться компилятором.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему тогда возникает разночтение?

Потому что lookup означает метод получения значения по индексу. Т.е. такая низкоуровневая операция

А Branch table это технология, которая иногда использует lookup, а может и бинарный поиск, а может и хэш таблицы.

Вы бы свои ссылки хотябы читали. Там же все ясно написано.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...