Jump to content

Массив Джуди

В информатике массив Джуди — это структура данных, реализующая тип ассоциативного массива с высокой производительностью и низким использованием памяти. [1] В отличие от большинства других хранилищ «ключ-значение» , массивы Judy не используют хеширование, используют сжатие своих ключей (которые могут быть целыми числами или строками) и могут эффективно представлять разреженные данные; то есть они могут иметь большие диапазоны неназначенных индексов без значительного увеличения использования памяти или времени обработки. Они спроектированы так, чтобы оставаться эффективными даже в структурах с размерами в диапазоне пета-элементов, с масштабированием производительности порядка O(log n ). [2] Грубо говоря, массивы Джуди — это высокооптимизированные 256-арные базисные деревья . [3]

Деревья Джуди обычно работают быстрее, чем деревья AVL , B-деревья , хеш-таблицы и списки пропуска , поскольку они высоко оптимизированы для максимального использования кэша ЦП . Кроме того, они не требуют балансировки дерева и не используют алгоритм хеширования. [4]

Массив Джуди был изобретен Дугласом Баскинсом и назван в честь его сестры. [5]

Преимущества

[ редактировать ]

Распределение памяти

[ редактировать ]

Массивы Джуди являются динамическими и могут увеличиваться или уменьшаться по мере добавления или удаления элементов из массива. Память, используемая массивами Джуди, почти пропорциональна количеству элементов в массиве Джуди.

Скорость

[ редактировать ]

Массивы Джуди предназначены для минимизации количества дорогостоящих заполнений строк кэша из ОЗУ , поэтому алгоритм содержит много сложной логики, позволяющей как можно чаще избегать промахов кэша. Благодаря оптимизации кэша массивы Джуди работают быстро, особенно для очень больших наборов данных. В наборах данных, которые являются последовательными или почти последовательными, массивы Джуди могут даже превосходить по производительности хеш-таблицы, поскольку, в отличие от хеш-таблиц, внутренняя древовидная структура массивов Джуди поддерживает порядок ключей. [6]

Недостатки

[ редактировать ]

Массивы Джуди чрезвычайно сложны. Самые маленькие реализации — это тысячи строк кода. [5] Кроме того, массивы Judy оптимизированы для машин с 64-байтовыми строками кэша, что делает их практически непереносимыми без существенной перезаписи. [6]

См. также

[ редактировать ]
  1. ^ Патент Роберта Гобеля и Дугласа Баскинса
  2. ^ «Debian — Подробная информация о пакете libjudy-dev в buster» .
  3. ^ Алан Сильверстайн, « Руководство по эксплуатации Джуди IV », 2002 г.
  4. ^ «10-минутное описание того, как работают массивы Джуди и почему они такие быстрые» .
  5. ^ Jump up to: а б "Дом" . Джуди.sourceforge.net .
  6. ^ Jump up to: а б «Сравнение производительности Джуди с хеш-таблицами» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5dcde8afc8775c58134c6d234548cc35__1686384960
URL1:https://arc.ask3.ru/arc/aa/5d/35/5dcde8afc8775c58134c6d234548cc35.html
Заголовок, (Title) документа по адресу, URL1:
Judy array - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)