Re: О ТОМ, KAK НА САМОМ ДЕЛЕ ИНДЕКСИРУЮТСЯ ДАННЫЕ В ФБП


[ Пpишедшие ответы ] /www.hdru.com/wwwboard/faq.htm">Help ]

Posted by Рустем Мухаметшин on December 04, 1998 at 12:00:07:

In Reply to: О ТОМ, KAK НА САМОМ ДЕЛЕ ИНДЕКСИРУЮТСЯ ДАННЫЕ В ФБП posted by Аpкадий Водяник, ЗАО Хакеpс Дизайн on December 04, 1998 at 04:49:16:

1)    Большое спасибо, Аркадий, за подробный ответ по индексам. Знание подобных механизмов может серьезно помочь в нетривиальных настройках. Прошу Вас, опубликовать также и "внутреннее устройство" механизма фактов (и значений ЭП)


2)    Вместе с тем не спешите грешить на мои формулы. Да, теперь я вижу, что они описывают только частный случай. Однако, казалось бы, судя по Вашей раскладке объем потребляемого ОЗУ должен быть пропорционален 13 байтам (размер элемента цепи букв), но он всегда пропорционален 26 !!!!. Далее я специально зарегистрировал всего один ЭП [setZ,'A','0'] на его индекс потребовалось 78 байт. По моей формуле получим 26*(1+3*1-1+0)==78. А вот по Вашей схеме цепи не очень понятно. Вывести формулу для общего случае представляется невозможным.
Прошу еще раз проверить и объяснить почему потребляемое ОЗУ всегда пропорционально 26 байтам (я не смог найти ни одного другого случая, хотя вероятность 50/50). Так же потребляемое ОЗУ не высчитывается как произведение кол-ва элементов цепи букв умноженное на объем одного элемента. К примеру, в Вашем случае на ALFA, ALPHA, ALL, ALLOW, BYE  13 элементов. По Вашей раскладке 13*13=169, реально потребляется 598=26*23


3)    Я думаю Вы согласитесь, что на коротких индексах (порядка 5 символов, а я так подозреваю что и длиньше) никакой экономии в ОЗУ не получишь. Вместе с тем хотелось бы знать насколько данный механизм дает выигрышь в сравнении с плоским массивом индексов




Пpишедшие ответы: