Имя: Пароль:
1C
 
Ускорение и замедление
0 Волшебник
 
12.07.24
19:54
1. Я ускоряю 41% (9)
2. Я балансирую 27% (6)
3. Другое 18% (4)
4. Я замедляю 14% (3)
Всего мнений: 22

Предлагаю обсудить совершенно новую тему для мисты: ускорение и замедление.

Мы как айтишники и программисты постоянно с этим сталкиваемся. Где-то надо ускорить, а где-то подождать. И не надо думать, что программисты постоянно оптимизируют свои программы и борются за миллисекунды. Функции Пауза() в секундах посвящены целые обработки на Инфостарте... Одна из них написана моим коллегом, а идея родилась за обедом в корпоративной столовой.

Короче, давайте обсудим циклы, время и всё такое.

p.s. Тема пятничная.
1 Волшебник
 
12.07.24
19:58
Если тупая тема null <> null хорошо зашла, то тут циклы и потенциальные запросы в циклах, которые у профессионалов не тормозят.

Я отношу себя к профессионалам и легко пишу запросы в циклах.

Я балансирую
2 youalex
 
12.07.24
20:04
Если меня самого раздражает медленная работа/отклик, ищу возможность

Я ускоряю
3 FirstLine Support
 
12.07.24
20:15
Сегодня написал пять запросов в цикле. В цикле - разного рода запросы, от простого среза последних цен, до тяжелых, типа перебора всех документов с целью поиска последнего. Ничего страшного, всё это хозяйство крутится всего пять минут. Подождут. А мы что, куда-то спешим?

Я замедляю
4 Смотрящий
 
12.07.24
20:30
.

Я ускоряю
5 Волшебник
 
12.07.24
20:37
(4) За Вами я особенно слежу.
6 Волшебник
 
12.07.24
20:39
Всех ускорителей я замедляю, а всех тормозов я пытаюсь ускорить.

Я балансирую
8 Злопчинский
 
12.07.24
22:56
Поделюсь мудростью из курсантского 1984-1985 гг.
"Зачем изобретать вечный двигатель? Не проще ли устранить вечный тормоз!"
9 H A D G E H O G s
 
12.07.24
23:07
Наш код выполняется очень быстро
https://youtu.be/K5b5RrMOcRc?si=E0qci5nTeWJAKXMA

Я ускоряю
10 Dmitry1c
 
13.07.24
06:18
ОбщегоНазначенияБТС.Пауза()

Я замедляю
11 Dmitry1c
 
13.07.24
06:19
(10) это для опрашивания сервера, который дает ответы в асинхронном режиме

сначала дает ключ, потом жди, пока он приготовит ответ
12 Ненавижу 1С
 
13.07.24
07:49
писать циклы грустно. Функционального типа в 1с нет. Поэтому мы постоянно пишем циклы и переносим данные из одной коллекции в новую.
Это замедление. В развитии.

Посмотрите на тот же linq. Просто и элегантно.
13 rphosts
 
13.07.24
08:01
Ну ващет свое я ускоряю, но если досталось Легаси не по канону и оно не проблема - обычно не трогаю, т.к. работаю по тз и там этого нет (после того как один раз еле отбился от наезда заказчика чего полез куда не просили), если Легаси проблема - оповещаю заказчика а дальше пусть сам решает.

Я ускоряю
14 trdm
 
13.07.24
12:05
		IF FSO.FileExists(vRomixNameBack) Then
			FSO.DeleteFile BackUpDir + "romix.dat", 0
		End If
		FSO.MoveFile CurentDir + "romix.dat", BackUpDir + "romix.dat" 
		strTmp = "winrar.exe M -ed -ep1 """ + BackUpDir + rarFileName +""" """ + BackUpDir + "romix.dat"""
		' -mx7 - долго, -mx5 - не так долго, -mx3 - быстрее
		strTmp = "7z.exe a -mx5 """ + BackUpDir + sevenZipFileName +""" """ + BackUpDir + "romix.dat"""
		
		'gWSH.Sleep 1000*60*5 '<- не пашет тут :( 5 минут сна могут быть полезны.. //{} © ТрДм 24.03.2017 14:26:22
		writeToLog " SleepSecund 2 min." + strTmp
		SleepSecund vWaitMin

Я замедляю
15 experimentator76
 
13.07.24
12:18
На днях захотел посчупать паузу из типовой УТ11.
На фоновом задании которая.
Не заработала...
Не смог замедлить там где нужно таким методом.

Я балансирую
16 Sochinec
 
13.07.24
17:49
Был на одном митапе - так там прогеры с магнита доказывали что условие ЕСЛИ в одну строку мол работает быстрее ....
Просто хочется в первую очередь что бы РАБОТАЛО , во вторую СТАБИЛЬНО ....

Другое
17 Aleksey
 
13.07.24
18:40
Есть такое. Перевод строки замедляет работу, но облегчает понимание. Так что все тормоза из-за лесенки в коде
18 Maniac
 
13.07.24
18:43
Я просто обычно бухаю

Я балансирую
19 lEvGl
 
13.07.24
18:46
(18)
Я просто обычно бухаю 

ааааааагагаггагагага
ну дело то нужное? ускоряет или замедляет?
20 Волшебник
 
13.07.24
19:15
Плейлист "Пули" с очень быстрыми песнями (+ 2 медляка для разнообразия):
https://suno.com/playlist/084d2774-0f35-4c6c-bdbe-efe4d79eaa6c

Текст всех песен примерно такой:



Самая быстрая Fast Bullet 1:20
https://suno.com/song/036e6194-d1c9-4c1a-8978-f4707e007352
Но это не предел скорости, бывают и быстрее, например:
Mermaid's Song https://suno.com/song/7084a97d-52f0-4ef3-8941-81c965d3baed

p.s. Я не волшебник, я просто просто учусь...

Я ускоряю
21 lEvGl
 
13.07.24
18:51
у нас один чел на пол****фе на вопрос "употребляете?" сказал, что да. Когда нужно было решить задачу по работе, разогнать голову и мысли, решил сделать так. Технолог.На вопрос "как, помогло?", он сказал, что мысли разогнал вобщее ппц как, но почему то не туда, ушло на личное бггггг
22 Волшебник
 
13.07.24
19:02
(21) У мозга появилось свободное время, не занятое работой. Мозгу видней, куда направить время и мысли.
23 breezee
 
13.07.24
19:03
Есть время - пишу хорошо. Нет времени - пишу как могу. Странная тема

Другое
24 Волшебник
 
13.07.24
19:04
(23) >> Странная тема

Я старался...
Спасибо, что заглянули.
Хотелось бы услышать более развёрнутый ответ.
25 breezee
 
13.07.24
19:16
(24) Ну даже хз что сказать) Вот, допустим, у меня задача которую надо закрыть до конца пятницы, потому что я увольняюсь с работы, и надо закрыть задачу. Я написал несколько запросов в цикле. Обычно так стараюсь не писать. А искусственно замедлять - не видел такого. Обычно все и так недостаточно быстро в 1с работает))
26 Волшебник
 
13.07.24
19:22
(25) Всё понятно. Не врите больше.
27 breezee
 
13.07.24
19:27
(26) Да вроде не врал)
28 Irbis
 
13.07.24
19:30
Бывало что приходилось замедлять, не хватало исполнительных устройств для обработки. После пришлось замедление убрать, баланс нашёлся сам собой.
29 Волшебник
 
13.07.24
19:30
(27) Вроде не врал, а получилось враньё.
30 Волшебник
 
модератор
13.07.24
19:37
Правило 10. Запрещено врать. Запрещено вбрасывать дезинформацию, фейки, дискредитировать государство Россия, компании, физических лиц.
31 Злопчинский
 
13.07.24
20:19
Раньше старался делать хорошо все время.
Но это никому не нужно. Поэтому стал стараться не привносить лишнего - ни хорошего, ни плохого. Если у клиента все костылями обложено - ставлю еще один костыль. Если у клиента хорошо (что исчезающе редко) - стараюсь делать хорошо. А так - сижу, смотрю на течение реки... Стараюсь прийти в равновесие.
Так что можно сказать что

Я балансирую
32 breezee
 
13.07.24
20:40
(29) Уважаемый Волшебник. Я не иронично не понимаю, где я мог соврать. Можете, пожалуйста, просветить? Вроде правда говорю как есть, без задней мысли. Про то что я уволняюсь - правда. 29 - последний день, проработал 7 лет в компании. Про то что стараюсь не писать запросы в цикле - тоже не вру. Стараюсь так делать, иногда, конечно, не выходить (все же люди). Про то что написал запросы в цикле - тоже правда. Мне правда интересно
33 youalex
 
13.07.24
21:47
(17) нет это в отладке может быть существенно, но для скомпилированного модуля не важно как вы его запишете. В отладке может быть, так - нет
34 Aleksey
 
14.07.24
03:29
(33) практический опыт говорит об обратном
35 Волшебник
 
14.07.24
09:01
(32) У Вас настоящее имя: ДвижениеЖивотных
Это ж враньё
36 Serg_1960
 
14.07.24
09:41
"breeze" - бриз, лёгкий ветер.
37 breezee
 
14.07.24
10:27
(35) Тогда согласен, это правда не мое настоящее имя. Это что-то из базы Меркурия. Показалось забавным)
38 ILM
 
14.07.24
15:41
Даже в шахматы только пулю гоняю.

Я ускоряю
39 Dmitrii
 
14.07.24
19:12
(16) >> Просто хочется в первую очередь что бы РАБОТАЛО , во вторую СТАБИЛЬНО ....

ИМХО, золотые слова.
Очень часто сначала пишется код так, чтобы работало хоть как-нибудь.
На втором этапе код отлаживается, чтобы работало без ошибок.
И только в последнюю очередь, если остаётся время и/или заказчик начинает выдвигать требования, разработчики задумываются об оптимизации и ускорении. Вплоть до переписывания каких-то механизмов.

Собственно на примере типовых конфигураций от 1С это неплохо видно.
40 experimentator76
 
14.07.24
20:02
(39) на примере типовых видно что чем больше уровней вложенных абстракций используется тем более тяжелая получается система в работе и стабильности.

и это кроме тех абстракций которые во встроенном языке (БСП, расширения и т.п.), кроме абстракций встроенных в платформу 1С - есть еще абстракции ОС, БИОС и т.п.
41 Dmitrii
 
14.07.24
20:43
(40) Это отдельная проблема.
Негативными последствиями библиотечного подход в любой разработке, если не всегда, то очень часто, становятся увеличение уровней абстракции, усложнение кода и как следствие - снижение производительности.

Я немного другое имел ввиду.
Пример - две методологии проведения документов с контролем отрицательных остатков.
Классическая методика с контролем отрицательных остатков перед записью регистров и отказом от записи в случае нехватки против методики с проверкой после записи наборов записей и откатом записи в случае ухода ресурса в минус.
Последняя появилась в ответ на проблемы с производительностью. Хотя ничего не мешало появиться этой методике с самого начала.
42 Ivan_495
 
14.07.24
21:15
Был в одной фирме отчёт из 3х баз брал данные, консолидировал и выводил. Во время работы отчета все пользователи выходили из баз 1с, запускали обычно в обед на часок.
Доверили мне посмотреть , доработал в скд, результат данные из 5 баз никто из баз не выходит, отрабатывает моментально.

Я ускоряю
43 experimentator76
 
14.07.24
23:26
(42) взял и сломал людям ритуал :))
иногда перед тем как оптимизировать думаю - не появится ли новый враг в виде освобожденного от обязанностей сотрудника :)
шутка конечно

Я балансирую
44 experimentator76
 
14.07.24
23:31
(41) еще не факт что вторая появилась как решение производительности а не надежности.
45 Злопчинский
 
15.07.24
00:21
(41) так и не видел цифр, которые бы подтверждали что второй способ быстрее первого. Какие соображения в пользу второго способа? Запись и откат быстрее чем расчет?
46 maxab72
 
15.07.24
09:00
(45) там в другом фишка. Проводит документы 1с медленно. Всегда медленно. Если идет многопользовательская работа, то при первом варианте два пользователя могут до проведения увидеть свободный ресурс и его использовать, уведя остаток в минус. При втором подходе оба увидят минус после проведения и откатятся.
47 Галахад
 
15.07.24
09:06
Мне как ленивому одинэснику хочется, что бы читать код было как можно проще и кода было как можно меньше. Упрощаю.

Другое
48 Ботаник Гарден Меран
 
15.07.24
09:28
Перпендикулярно.

Другое
49 maxab72
 
15.07.24
09:28
(47) Когда я только начинал одинэсить, еще на 7.5, мне пришлось сделать самописку для учета торговли на фабрике. Отличие от ТиС было в том, что поступление на склад было по выпускным ордерам с производства, была добавлена возможность ведения характеристик (цвет, размер, тип материала и еще пара параметров) (в типовой только через два года появилась такая возможность), иная схема назначения скидок (ручных скидок не было в принципе, все расчетные), разделение доступов менеджерам к заказам своих коллег и т.п. Так я помнил наизусть практически весь свой код. И мог, находясь в отпуске, диктовать по телефону помощнику, в каком модуле что подправить...
50 Chai Nic
 
15.07.24
09:35
Мне очень нравится ускорять алгоритмы. Это даже интереснее, чем создавать что-то новое. И позитивная отдача выше. Люди становятся счастливее, когда у них перестает тормозить алгоритм и остается время на попить чайку. А вот когда что-то новое - им приходится учиться и нервничать, это стресс и безблагодатность.

Я ускоряю
51 Волшебник
 
15.07.24
09:47
Записки оптимизатора 1С (часть 6). Логические блокировки MS SQL Server в 1С: Предприятие
https://habr.com/ru/companies/softpoint/articles/814111/

Записки оптимизатора (Часть 7). «Нелогичные» блокировки MS SQL для систем 1С предприятия
https://habr.com/ru/companies/softpoint/articles/823250/

Softpoint ускоряет

Я ускоряю