Имя: Пароль:
1C
 
Что быстрее: структура или соответствие?
0 Кецалькоатль
 
07.07.06
19:16
Гружу адресный классификатор в свой иерархический справочник. (Кто не знает, это DBF-ки примерно 80 Мб размером). Чтобы не выполнять поиск каждый раз в справочнике (нужно найти родителя), добавляю элемент в соответствие. Ключ - строковое представление элемента адреса (строка длиной 25 символов) из DBF-ки, значение - ссылка на элемент справочника.
Так вот, грузится это все часов 6, и памяти жрет 1,5 гига, кроме того, после загрузки стоит очистка этиго соответствия:

лАдресаСоответствие.Очистить();

И вот именно на этом операторе начинаются нереальные тормоза. 1С-ка забирает еще 1 гиг памяти и юзает винт постоянно (физ. памяти 1 гиг на машине).

В структуре по ключу быстрее поиск производится? Памяти она меньше жрет или больше?
1 Defender aka LINN
 
07.07.06
19:32
Насколько знаю, Соответствие будет быстрее.
Но это не долго проверить. Создай большую структуру и соответствие и сравни время поиска.
2 fishca
 
08.07.06
10:08
Кладр обычно столько не грузится в типовых, гораздо быстрее.
3 TormozIT
 
гуру
08.07.06
10:17
Соответствие индексированная структура данных, она быстрее.
4 Мимоходом
 
08.07.06
10:45
По мере того, как в соответсвие добавляются новые элементы, скорость работы этого объекта уменьшается. Если первый елемент коллекции вставляется мгновенно, то 500 001 с заметной задержкой. Видимо, все больше времени тратиться на обновление индекса.
5 TormozIT
 
гуру
08.07.06
13:24
(4) Как и любая индексация, она замедляет запись, но ускоряет поиск.
6 Добрый
 
08.07.06
13:59
В таком случае (0) преображается в следующий вопрос "Что быстрее на запись а что на чтение: структура или соответствие?"
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс