Size: a a a

1С, БСП, DevOps и Архитектура

2020 January 15

PZ

P Z in 1С, БСП, DevOps и Архитектура
Василий Мазурок
Насколько разумно созавать Структуру с более чем 10000 элементов?
Или лучше использовать соответствие?
Структура от соответствия отличается только допустимым значением ключа. Я и миллион делал скорость норм
источник

PZ

P Z in 1С, БСП, DevOps и Архитектура
Давненько видел статью чувак заморочился и сделал замеры, чем же они отличаются.
В общем суть такая - поиск в структуре быстрее чем в соответствии по ключу СТРОКОВОГо типа на больших коллекциях. По ключам других типов соответствие побыстрее
источник

PZ

P Z in 1С, БСП, DevOps и Архитектура
http://devel1c.blogspot.com/2013/01/blog-post_22.html?m=1 но ИМХО слишком малая выборка, надо бы на миллионах сравнить
источник

И

Игорь in 1С, БСП, DevOps и Архитектура
Доброй ночи, дня, утра, кому-как, коллеги! Подскажите, кто-нибудь делал в erp доработку типового механизма контроля товара регистра товарыорганизаций?  Типовой механизм проверяет отрицательные остатки, нужно доработать проверку на условие  товар > 1
источник

И

Игорь in 1С, БСП, DevOps и Архитектура
Раскопал где происходит проверки, но разобраться как прикрутить нужное условие не могу пол дня и начало ночи... возможно кто-то такое делал, может подсказать ?
источник

A

Alexey Lab Sosnoviy in 1С, БСП, DevOps и Архитектура
P Z
Давненько видел статью чувак заморочился и сделал замеры, чем же они отличаются.
В общем суть такая - поиск в структуре быстрее чем в соответствии по ключу СТРОКОВОГо типа на больших коллекциях. По ключам других типов соответствие побыстрее
> По ключам других типов соответствие побыстрее

А как сделать структуру с ключом другого типа?
источник

BS

Basil Stepanov in 1С, БСП, DevOps и Архитектура
Там по идее классическое проведение второго типа- записали данные в регистр как есть прочитали регистр на наличие отрицательных остатков и вывели пользователю если есть ошибки
источник

BS

Basil Stepanov in 1С, БСП, DevOps и Архитектура
Alexey Lab Sosnoviy
> По ключам других типов соответствие побыстрее

А как сделать структуру с ключом другого типа?
Там про соответствие речь. Соответствие со строковым ключем
источник

A

Alexey Lab Sosnoviy in 1С, БСП, DevOps и Архитектура
Basil Stepanov
Там про соответствие речь. Соответствие со строковым ключем
Соотствие с НЕстроковым ключом быстрее чем что?
источник

PZ

P Z in 1С, БСП, DevOps и Архитектура
Alexey Lab Sosnoviy
Соотствие с НЕстроковым ключом быстрее чем что?
Чем структура, ты ссылку открывал?
источник

VP

Vassily Poupkine in 1С, БСП, DevOps и Архитектура
P Z
Чем структура, ты ссылку открывал?
Он про то что некорректно сравнивать соответствие и структуру если тип ключей разный
источник

YH

Yehor Hryshenchuk in 1С, БСП, DevOps и Архитектура
Vladimir Nadulich
1. то что массив отсортирован, а соответствие нет - это заложенные свойства, а не достоинства/недостатки.
2. почему добавление ключа в соответствие тяжелая операция? не уверен как внутри ведет себя 1с... хэш ключа, адрес? из какого языка пришла такая инфа?
3. про какой двоичный поиск речь? по идее у объекта должен уже быть айди/адрес, по нему получаем пару.
4. ну бред же... Какой поиск по индексу, если индекс обычно не известен и везде в коде видим Массив.Найти()?
Про какую задачу идет речь понять не могу, где массив будет выгоден? Там где не нужно соответствие - да. А если нужно? А если нужен быстрый поиск по ключу? Приведите пример алгоритма, хоть намекните или опишите решение с помощью массива моего примера задачи выше.
Еще раз сформулирую наиболее часто встречающуюся Задачу, в которую любят лепить массив:
- перебрать коллекцию 10000 элементов, что-то с ними сделать, но при этом выполнить проверку (исключить) вхождения элемента в некую другую коллекцию из N элементов.
Так вот, если вторую коллекцию запихать в массив и проверку выполнять как М.Найти(), то это фактически еще один вложенный цикл. Выполнение будет условно в N раз дольше, чем с помощью словаря-соотвествия. Куда тут индексы массива пристроить?
Про вопрос о работе с 10000 объектов, писали выше, это бинарный поиск
источник

PZ

P Z in 1С, БСП, DevOps и Архитектура
Vassily Poupkine
Он про то что некорректно сравнивать соответствие и структуру если тип ключей разный
Почему нет? Интересно же
источник

VN

Vladimir Nadulich in 1С, БСП, DevOps и Архитектура
Yehor Hryshenchuk
Про вопрос о работе с 10000 объектов, писали выше, это бинарный поиск
Это плохо или хорошо? Проверить наличие элемента в коллекции - где быстрее?
источник

YH

Yehor Hryshenchuk in 1С, БСП, DevOps и Архитектура
Vladimir Nadulich
Это плохо или хорошо? Проверить наличие элемента в коллекции - где быстрее?
В отсортированном массиве думаю быстрее всего
источник

VP

Vassily Poupkine in 1С, БСП, DevOps и Архитектура
Vladimir Nadulich
Это плохо или хорошо? Проверить наличие элемента в коллекции - где быстрее?
Я так понял выше топят за массив только если ключ полностью подходит как индекс массива (т.е. число + сплошная нумерация с нуля)
источник

YH

Yehor Hryshenchuk in 1С, БСП, DevOps и Архитектура
Vassily Poupkine
Я так понял выше топят за массив только если ключ полностью подходит как индекс массива (т.е. число + сплошная нумерация с нуля)
Зачем вам индекс, нам надо проверить массив на наличие объекта и обработать
источник

VN

Vladimir Nadulich in 1С, БСП, DevOps и Архитектура
Yehor Hryshenchuk
В отсортированном массиве думаю быстрее всего
Ещё раз утверждаю, что имея только значение, поиск в массиве зависит от размера массива, а в соответствии - не зависит.
источник

VP

Vassily Poupkine in 1С, БСП, DevOps и Архитектура
Yehor Hryshenchuk
Зачем вам индекс, нам надо проверить массив на наличие объекта и обработать
Через Найти()?
источник

YH

Yehor Hryshenchuk in 1С, БСП, DevOps и Архитектура
Vladimir Nadulich
Ещё раз утверждаю, что имея только значение, поиск в массиве зависит от размера массива, а в соответствии - не зависит.
Log n
источник