Jump to content

    
Sign in to follow this  
Grizzly

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

Recommended Posts

Вчера в Википедии в статье 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 из указателей на функции. Почему тогда возникает разночтение?

Share this post


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

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

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

Share this post


Link to post
Share on other sites
Почему тогда возникает разночтение?

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

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

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

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this