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

Кто-Нибудь знает, где можно почитать про подробности реализации хэш-таблиц в

абапе? мне интересно, как рассчитывается хэш для объектов и ссылок, раз их в ключ можно ставить

17 ответов

30 просмотров

хэши вставлять в хэштаблицы необязательно :)

в bc402 инфа. и в книге sappress abap preformance tuning сам алгоритм (как именно рассчитывается хэш) инфы нет, но есть подробности как именно строится хэш и сколько может быть в хэш таблице записей по 1 хэш-ключу

Александр-Г. Автор вопроса
Денис
в bc402 инфа. и в книге sappress abap preformance ...

Посмотрел и bc402, и книгу, но там без подробностей оказалось :( просто "Hashed tables are managed internally using a hash algorithm", а что конкретно хэшируется в случае объектов и ссылок - непонятно

Зачем тебе это?

Александр-Г. Автор вопроса
Kirill Gorin
Зачем тебе это?

да просто интересно, в питоне вот нельзя изменяемые объекты в ключ ставить в словарь, в абапе можно, вот и захотелось узнать, как оно работает

Александр Г.
Посмотрел и bc402, и книгу, но там без подробносте...

странно. раньше было. там была инфа, что создается хэш из ключа таблы. что используется хэш табла с не более чем 2 значениями самой таблы для 1 хэш-ключа. но так - да, вроде как все

Александр Г.
да просто интересно, в питоне вот нельзя изменяемы...

ваще вот не понял, что ты хотел сказать.. видимо нехватает знаний по питону)

Александр-Г. Автор вопроса
Денис
ваще вот не понял, что ты хотел сказать.. видимо н...

в питоне нельзя ключом в словаре сделать list или объект какой-нибудь, а в abap я могу сделать поле key type ref to data, а потом сделать из него ключ в hashed таблице)

Александр Г.
в питоне нельзя ключом в словаре сделать list или ...

а. ну так тут в хэш гонится значение полей. че уж там считается значением в случае ссылки - хз. мож значение адреса мож еще чего (а-ля toString в js)

Александр-Г. Автор вопроса
Денис
а. ну так тут в хэш гонится значение полей. че уж ...

ну если сделать ключом объект в абапе, а потом изменить, то достается та же самая запись) то есть тут какой-то идентификатор хэшируется, судя по всему

Александр Г.
ну если сделать ключом объект в абапе, а потом изм...

загляни в отладку. там видно будет. когда смотришь просто объектную переменную - имя класса+ид инстанции. для простой (не объектной) ссылки скорее всего что-то наподобие

Александр Г.
ну если сделать ключом объект в абапе, а потом изм...

Есть в абапе таинственный недокументированный pointer - переменная типа x(28). Объявляется так: data p pointer. Используется так: system-call pointer <any_fs> to p. Вот с большой вероятностью ссылки именно в таком виде для хеша передаются

Александр-Г. Автор вопроса
Dmitry B
Есть в абапе таинственный недокументированный poin...

о, очень интересно, спасибо! надо поэкспериментировать

Александр Г.
в питоне нельзя ключом в словаре сделать list или ...

Ты чо ты чо, я когда такое читаю, у меня зубы от злости скрипят

Александр-Г. Автор вопроса
Omen🇷🇺🇵🇸
Ты чо ты чо, я когда такое читаю, у меня зубы от з...

ну я же не собираюсь так делать в продуктивном коде)

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта