169 похожих чатов

Господа, можете помочь найти pjw хэш в исходниках фасма? куда

смотреть? в formats.inc?

6 ответов

31 просмотр

Нигде. Самому фасму хэш без надобности. А динамический импорт сделан макросами, и все символы складываются в одну корзину.

пошукач-🥝 Автор вопроса
s54820
Нигде. Самому фасму хэш без надобности. А динамиче...

не-а, там точно в динамических бинарях есть кусок с хэшами

пошукач 🥝
не-а, там точно в динамических бинарях есть кусок ...

Хеш нужен, чтобы разложить символы по buckets (bucket_index = hash % nbucket). Если у тебя nbucket = 1, то bucket_index = 0 всегда, то есть хеш тебе не нужен.

пошукач-🥝 Автор вопроса
пошукач 🥝
а как понять сколько buckets надо?

Это сложный вопрос. Чем больше buckets, тем быстрее лукап (больше шанс, что ты найдёшь символ за O(1), без последующего прохода по chain), но при этом будет расти размер хеш-таблицы и возможно неиспользованные элементы в ней появятся. При nbucket = 1 у тебя минимальный размер, но вся хеш-таблица вырождается в связный список со сложностью O(n) при поиске каждого символа.

s54820
Это сложный вопрос. Чем больше buckets, тем быстре...

В быстрой хеш таблице всегда есть неиспользуемые элементы

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта