Имя: Пароль:
1C
1С v8
Что быстрее работает: ТаблицаЗначений или Массив Массивов?
0 Oblako486
 
08.01.21
15:38
Кто-нибудь проверял?
Считаем что ТаблицаЗначений уже сформирована, созданы колонки, заполнены значения.
Массив Массивов тоже заполнен.
Дальше делаем вывод каждого значения через Сообщить()
Что будет быстрее?
1 H A D G E H O G s
 
08.01.21
15:40
Тормозить в данном случае будет
Сообщить()
поэтому пофиг
2 RomanYS
 
08.01.21
15:41
>> Дальше делаем вывод
Тупой обход двойным циклом? Ну сделай замер - посмотри.
А когда тебе поиск по колонке понадобится что будешь с массивом делать?
3 RomanYS
 
08.01.21
15:42
+(2) исходи из конкретных потребностей, а не из тупого вывода через сообщить
4 Oblako486
 
08.01.21
15:43
(2) Да. Тупой обход двойным циклом. Либо один цикл и доступ через "точку". Собственно вопрос в том, механизм работы через точку это тоже скрытый цикл?
(3) Согласен сообщить неподходящий пример
5 Oblako486
 
16.01.21
13:13
(4) Для каждого массив из ДвумерныйМассив Цикл
        Значение0 = массив[0];
        Значение1 = массив[1];
        Значение2 = массив[2];
        Значение3 = массив[3];
        Значение4 = массив[4];
        Значение5 = массив[5];
        Значение6 = массив[6];
        Значение7 = массив[7];
        Значение8 = массив[8];
        Значение9 = массив[9];
    КонецЦИкла;
    
    Для каждого строка из ТаблицаЗначений Цикл
        ячейка1 = строка.Колонка1;
        ячейка2 = строка.Колонка2;
        ячейка3 = строка.Колонка3;
        ячейка4 = строка.Колонка4;
        ячейка5 = строка.Колонка5;
        ячейка6 = строка.Колонка6;
        ячейка7 = строка.Колонка7;
        ячейка8 = строка.Колонка8;
        ячейка9 = строка.Колонка9;
        ячейка10 = строка.Колонка10;
    КонецЦИкла;
6 Oblako486
 
16.01.21
13:15
(5) В итоге ТаблицаЗначений медленнее, меньше чем на 1%. То есть разницы почти нет.
7 Oblako486
 
16.01.21
13:16
(6) 0.3% получилась разница
8 Oblako486
 
16.01.21
13:19
(7) количество итераций в обоих циклах 10 000.
9 Oblako486
 
16.01.21
13:37
(6) хм, повторные тесты дают разницу 15%. Количество итераций увеличил до 100 000. ТаблицаЗначений медленнее.
10 RomanYS
 
16.01.21
13:45
(6)(7)(9) это всё в пределах погрешности. Ну и возвращаясь к началу: смысла в таком сравнении нет никакого.
Если необходимый (в конкретной ситуации) сводится к обращению по индексу - используй массив, в остальных случаях подумай и выбери подходящую коллекцию.
11 Oblako486
 
16.01.21
13:49
(10) согласен.
12 МихаилМ
 
16.01.21
13:56
попробуйте ячейка1...ячейка10
хранить в структуре
из тз заполнять структуру с помощью ЗаполнитьЗначниеСвойств()
13 RomanYS
 
16.01.21
13:59
(12) ЕМНИП ЗаполнитьЗначниеСвойств несколько медленнее явного присвоения. Но не настолько чтобы стоило задумываться от её удобства в большинстве случаев.
14 ДедМорроз
 
17.01.21
00:58
Быстрее будет одномерный массив,но с ним ещё менее удобно работать.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.