The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск языка программирования Rust 1.76"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для сортировки сообщений в нити по дате нажмите "Сортировка по времени, UBB".
. "Выпуск языка программирования Rust 1.76" +1 +/
Сообщение от Аноним (-), 12-Фев-24, 12:42 
> Словарь в каком виде хранить? Массив строк и искать там прямым перебором?

Зачем массив? Список. Лисп же.

Но если хочется оптимизаций, то хеш-табличка. Если так не хочется хранить указатели на строки, то строки можно писать в массив чаров последовательно, и хранить индексы туда. Этим индексам можно будет половину бит урезать, а если этого мало, то можно как-нибудь ещё извратиться. Но тут момент какой: все эти извращения требуют данных с полей о том, как этот словарь используется. Скажем, если мы нарисуем распределение длин строк, то как оно будет выглядеть? Будет ли там много одно-/двух-/трёх- байтовых строк? Будет ли там много 16+ байтовых строк? Опять же, что важнее -- скорость проверки наличия строки в словаре, скорость чтения её оттуда или скорость добавления новой?

Преждевременная оптимизация -- корень всех проблем, а раз так, то словарь в лиспе надо хранить в виде списка по-крайней мере до тех пор, пока операции над этим списком не начнут заметно тормозить интерпретатор.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск языка программирования Rust 1.76, opennews, 08-Фев-24, 23:16  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру