|
Влияет ли расстояние между строками кода на производительность? | ☑ | ||
---|---|---|---|---|
0
Московский
27.05.16
✎
14:26
|
Собственно, сабж! А то мне утверждают, что чем "утрамбованнее" код, тем быстрее он работает. А то я почти всё через строку пишу - так воспринимается легче.
|
|||
1
Джинн
27.05.16
✎
14:27
|
Еще как влияет! Особенно по пятницам.
|
|||
2
Heckfy
27.05.16
✎
14:28
|
конечно влияет. Попробуй какую нибудь процедуру в одну строку напиши. А потом сравни производительность.
|
|||
3
Московский
27.05.16
✎
14:29
|
(1) вот и я думаю... :-|
|
|||
4
NorthWind
27.05.16
✎
14:29
|
(0) канеш влияет. Сжатие данных, чо, не слышал что ли.
Надо все фигачить в одну строку! |
|||
5
Московский
27.05.16
✎
14:29
|
(2) Попробую, конечно. Вначале мнения услышать хочется.
|
|||
6
Джинн
27.05.16
✎
14:30
|
(4) ... и без пробелов
|
|||
7
aleks_default
27.05.16
✎
14:31
|
(0)Конечно влияет, пока такую конфу откроешь, уже и работать перехочется.
|
|||
8
Timon1405
27.05.16
✎
14:31
|
мнения собираешь а голосовалку не сделал, Семен Семеныч
|
|||
9
Московский
27.05.16
✎
14:32
|
(8) ну ой!
|
|||
10
oslokot
27.05.16
✎
14:32
|
Главное, название переменных должны быть короткими как выстрел.
|
|||
11
Михаил Козлов
27.05.16
✎
14:32
|
Один чел писал, что если цикл написать в одну строку (вместе с телом), то выполняется быстрее. Проверить было лень.
|
|||
12
Jokero
27.05.16
✎
14:32
|
Компилятор, не удаляет пробелы, он сидит и думает над каждым))
|
|||
13
Михаил Козлов
27.05.16
✎
14:32
|
(11)+ Именно в 1С.
|
|||
14
Heckfy
27.05.16
✎
14:33
|
(13) Я еще в 2 писал. :)
|
|||
15
Я не курил
27.05.16
✎
14:33
|
ещё надо код по английски писать, тогда точно быстрее будет
|
|||
16
Fragster
гуру
27.05.16
✎
14:34
|
(11) это при подключенной отладки в замере. а без включенной отладки пофиг.
|
|||
17
Jokero
27.05.16
✎
14:34
|
Сабж: Помогите оптимизировать отчет, очень долго выполняется.
Ответ : Напиши отчет в одну строку! |
|||
18
Карупян
27.05.16
✎
14:34
|
То что в 1 строку работает быстрее давно известно
|
|||
19
Ranger_83
27.05.16
✎
14:35
|
Самое главное шрифт маленький сделать!
|
|||
20
Gary417
27.05.16
✎
14:36
|
(15) +1 угу, потому что не придётся на английский переводить, процессор то американская контора разрабатывала
|
|||
21
Heckfy
27.05.16
✎
14:37
|
(20) А если я Эльбрусе кодю?
|
|||
22
Gary417
27.05.16
✎
14:37
|
(21) в 1С?
|
|||
23
Heckfy
27.05.16
✎
14:39
|
(22) Да. Ну комп у меня на базе отечественного процессора "Эльбрус".
|
|||
24
Gary417
27.05.16
✎
14:42
|
(23) ну тогда должно быстрее работать :)
*чёт я не нашёл, он умеет в x86 работать? А то на arm-е 1С не запустится |
|||
25
aleks_default
27.05.16
✎
14:45
|
(21) Медведев, перелогинтесь...
|
|||
26
vde69
27.05.16
✎
14:48
|
в 7.7 если цикл записать в одну строчу он реально на много быстрее работает...
в снеговике - не проверял... |
|||
27
Pistol
27.05.16
✎
14:49
|
А чо вы ржоте-то? Конечно влияет.
Пустая строка компилируется в специальный байт-код, который используется чтобы при развале с исключением в модуле, поставляемом без исходного кода, сориентироваться и выдать сообщение типа "Ошибка в строке 30". Ну а "выполнение" это специального байт-кода отнимает у виртуальной машины 1С время. Поэтому в глубоких циклах это оказывает незначительное влияние. Так-то! |
|||
28
Gary417
27.05.16
✎
14:52
|
(27) помоему для этого отдельно собирают данные для отладчика с ссылками на реальный код. а в исполняемом байт-коде дропают всё лишнее.
так должнО быть. как уже накодили погромисты в платформе другой вопрос |
|||
29
Fragster
гуру
27.05.16
✎
14:53
|
(26) в снеговике ОбработкаПрерыванияПользователя() после каждой строки автоматом вставлялась, в снеговике - нет.
|
|||
30
Мыш
27.05.16
✎
15:03
|
(29) Истина НЕ Истина )))
|
|||
31
Azverin
27.05.16
✎
15:04
|
едрить! точно! пойди рефакторинг кода делать!
|
|||
32
ice777
27.05.16
✎
15:05
|
(0) Однозначно влияет. 1с же транслятор )
видит пустую строчку, делает лишнее действие - "строку пропустить". |
|||
33
Московский
27.05.16
✎
15:06
|
(32) Не интерпретатор? Не?
|
|||
34
Fragster
гуру
27.05.16
✎
18:51
|
(30) ну в клюшках вставлялась, в снеговике - нет...
|
|||
35
Pistol
27.05.16
✎
19:05
|
(28) "Я бы вот так сделал", понятно...
Ты еще скажи, что они недоступные участки кода вырезают, типа Если Ложь Тогда =) Кстати это тоже для сохранения строк. |
|||
36
ice777
27.05.16
✎
19:18
|
(33) спс за уточнение. совсем забыл про эти определения.
|
|||
37
Лефмихалыч
27.05.16
✎
19:45
|
(0) если режим отладки выключен, то ни какое форматирование кода на производительность не влияет.
|
|||
38
Фрэнки
27.05.16
✎
19:51
|
А самая большая экономия в модулях - любые тексты запросов переписать в одну строчку! И обязательно все до единого.
(это была шутка юмора) |
|||
39
xReason
27.05.16
✎
20:08
|
(37) Все верно
В режиме Предприятия код в одну строку и многострочный код работают с одной скорость. Это все МИФы древней Греции , запускающих тесты под отладкой |
|||
40
Torquader
29.05.16
✎
00:51
|
(26) В семёрке при переходе со стоки на строку проверяется очередь сообщений на предмет DDE-сообщений и прерывания по нажатию клавиш - избавится от прерывания можно, если код не покидает строки.
В восьмёрке DDE нет вообще, а прерывание пользователя обрабатывается через специальную функцию, так что ничего не должно влиять. Вопрос о моменте трансляции кода в исполняемое состояние (байт-код) мы же не рассматриваем. |
|||
41
Torquader
29.05.16
✎
00:52
|
В режиме отладки, кстати, отсылается каждый оператор, а не каждая строка.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |