Имя: Пароль:
1C
1С v8
Фоновые задания и производительность
0 rrunover
 
12.08.11
17:23
1. Наверное да.. Хотя и не похоже на многозадачность. 50% (1)
2. Свой вариант. 50% (1)
3. Конечно да! Это реальная многопоточность! 0% (0)
4. Совсем нет! Это эмуляция многозадачности. 0% (0)
5. Обойти тормоза платформы все равно не получится. 0% (0)
Всего мнений: 2

Пятниццо!!! 8.2 клиент-серверная. Есть обработка в результате работы которой делается десяток записей в независимые регистры сведений. После записей открывается форма заполненного html-поля.
В два регистра делается 3-5 записей с разными значениями одних и тех же реквизитов. По результатам замеров производительности на 10 итерациях выявлено, что именно из-за записи в эти два регистра прилично тормозит и вывод html-поля.
Внимание вопрос! Если запись в эти два регистра вывести в фоновое задание (отказов записи при транзакциях не возникает), даст ли это сколь-нибудь ощутимый прирост в скорости отображения заполненного html-поля? Можно ли считать это эмуляцией многопоточности записи и одновременно отображения формы или это реальная многопоточность?

Курение мануалов по сабжу и гугление внятного ответа не дали.
1 Jstunner
 
12.08.11
17:25
зачем?
2 rrunover
 
12.08.11
17:26
(1) чтобы запись в два больших и тяжелых регистра делалась одновременно с выводом формы, а не последовательно: сначала потормозим запишем, а потом отпустим и покажем форму.
3 Jstunner
 
12.08.11
17:28
зачем при выводе что-то писать?
4 rrunover
 
12.08.11
17:31
(3) вопросы по исполнению алгоритмов затрагивать не надо. Однако допустим, что писать нужно куда-то еще, пока пользователь будет осмысливать информацию в выданной форме. Информация в записанный регистр больше ему не понадобится и нужна для совершенно третьих целей.
5 apokrit
 
12.08.11
17:31
Если обработка тормозит от записи десятка записей в регистр - то этому уже ничего не поможет.
Нужно лечить перегруженное железо / кривизну рук, а не фоновые задания прикручивать.

(А вообще фоновые задания собственно в отдельных потоках rphost'ов и исполняются - это можно легко processexplorer'ом увидеть)

Свой вариант.
6 Jstunner
 
12.08.11
17:33
(4) абсолютно нормально перед выводом информации показать прогрессбар..
7 rrunover
 
12.08.11
17:34
(5) обработка не тормозит. Читайте внимательно: тормозится вывод формы из-за записей регистров.

(А вообще спасибо за направление по rphostам)
Тогда доп вопрос. Если рабочий процесс один, то реально фоновое задание ничего не решает, правильно понимаю? И чтобы вышел толк, надо добавить еще парочку?
8 rrunover
 
12.08.11
17:35
(6) не хочется прогресс-бар. хочется "явное сделать тайным", поэтому и спрашиваю про реально/эмулятивное понятие фонового задания.
9 rrunover
 
12.08.11
17:36
+(7) парочку рабочих процессов
10 Jstunner
 
12.08.11
17:37
пиши информацию во временный, пустой регистр (должно выполняться быстро). А регламентным заданием перемещай в основной
11 rrunover
 
12.08.11
17:40
(10) кхм... это вариант. Благодарю. Буду его дописывать как резервный.
12 5 Элемент
 
12.08.11
17:45
(7) Будет странно если нужно добавлять еще процессы. На одном процессе сеансы юзеров прекрасно параллельно работают.
13 rrunover
 
12.08.11
17:54
(12) угу, сообразил. Т.е. фоновые задания, инициированные программно в сеансе пользователя выполняются в этом же рабочем процессе, но независимо от пользователя?
14 DmitrO
 
12.08.11
18:00
5 Элемент хотел сказать, что фоновые задания могут выполняться на том же рабочем процессе (но в другом потоке), для распараллеливания работы основного потока и фонового задания не нужно делать несколько рабочих процессов.
15 DmitrO
 
12.08.11
18:02
а вообще, если вывод в форму не зависит от записи в регистры, то конечно можно сначала сделать вывод в форму, показать ее пользователю, а потом запустить фоновое задание на запись регистров, пока пишется, юзер будет изучать форму
16 Lama12
 
12.08.11
19:47
(0) Пишешь в регистр данные которые пользователь видит?
Не поможет. Не докажешь что пользователь "это" видел.
17 Dethmont
 
13.08.11
03:45
Реально фоновое здание использовать в проверке двух ТаблицЗначений (Большого объема) на поиск отличающихся элементов друг в друге. Но возникает вопрос!
Если одна ТЗ провериться быстрее другой как подождать проверку отставшей ТЗ ???
18 Dethmont
 
13.08.11
03:56
голос

Наверное да.. Хотя и не похоже на многозадачность.