|
Производительность вычислений в обычных и управляемых формах (файловая версия) | ☑ | ||
---|---|---|---|---|
0
Сниф
10.11.17
✎
01:13
|
Мне нужно написать конфигурацию для работы одного пользователя (файловая версия). База данных не используется (нет справочников, регистров и т.п.). Производится исключительно работа с Com-объектом - вызываются методы Com-объекта и обрабатываются данные, получаемые в событиях Com-объекта с помощью ДобавитьОбработчик. Далее эти данные обрабатываюся в нескольких таблицах значений. Основные операции - как раз с таблицами значений - поиск строк, перебор строк, арифметические операции и т.п.
Одинаково ли быстро в таком случае будет работать конфигурация на управляемых формах и на обычных или есть разница в производительности? |
|||
1
simol
10.11.17
✎
01:17
|
А чего не попробуешь? ПРобовать быстрее чем ждать
|
|||
2
Сниф
10.11.17
✎
01:20
|
(1) Ну может у кого-то есть опыт. Не писать же конфу в двух вариантах.
Com-объект так устроен, что возвращает запрашиваемые данные построчно. То есть если мы вызвали определенный метод и запросили 1000 строк, событие ПолучениеДанных сработает 1000 раз и мы запишем в ТЗ 1000 строк. Отсюда и вопрос о производительности. |
|||
3
simol
10.11.17
✎
01:32
|
1c эот такое, что убирание переноса строк вв циклах ускоряет на 10-20%
Потоу только личные опыты |
|||
4
simol
10.11.17
✎
01:34
|
(2)Тут больше надо не управляемые или обычные, а попробовать 81,82,83
И ты насчет 81 можешь быть приятно удивлен |
|||
5
youalex
10.11.17
✎
03:52
|
(3) Ускоряет в режиме отладки, или вообще в принципе?
|
|||
6
Antony8x
10.11.17
✎
07:35
|
(5) а есть разница?
|
|||
7
Филиал-msk
10.11.17
✎
07:51
|
(0) В данном случае обычные формы в целом быстрее, так как отсутствует передача и контроль контекста при "серверных" вызовах. С управляемыми формами тебе придется забавляться вприсядку с теми же таблицами значений.
|
|||
8
1Снеговик
гуру
10.11.17
✎
08:11
|
(7) в УФ все делается в контексте сервера, вот и все. Зачем на клиент таблицы кидать? Отображаться они и так будут, если надо.
|
|||
9
1Снеговик
гуру
10.11.17
✎
08:12
|
Разница лишь в удобстве программирования интерфейса.
В обычных формах можно запариться все рисовать. А с управляемыми просто надо уметь работать. |
|||
10
1dvd
10.11.17
✎
08:13
|
(8) а если СОМ идёт с клиента?
|
|||
11
youalex
10.11.17
✎
08:19
|
(6) Есть подозрение, что таки, да
|
|||
12
1Снеговик
гуру
10.11.17
✎
08:21
|
Плюс насколько важны асинхронные вызовы.
Не знаю, работают ли в обычном интерфейсе немодальные вызовы через ОписаниеОповещения. |
|||
13
Сниф
10.11.17
✎
10:18
|
(10) СОМ как раз и будет на клиенте. Разве можно на сервере добавить обработчки событий СОМ-объекта через ДобавитьОбработчик?
|
|||
14
TormozIT
гуру
10.11.17
✎
10:24
|
(0) Обычные формы однозначно быстрее.
|
|||
15
Fragster
гуру
10.11.17
✎
10:30
|
если там арифметика, то может ну его нафиг, этот 1с, а использовать дельфи/си/что угодно другое компилируемое?
|
|||
16
Сниф
10.11.17
✎
10:38
|
(14) приму к сведению, спасибо
(15) для каждой задачки изучать язык - голова треснет... |
|||
17
Fragster
гуру
10.11.17
✎
11:13
|
(16) что там изучать-то?
|
|||
18
Fragster
гуру
10.11.17
✎
11:14
|
да и на производительность насрать по большому счету, получается. и на требование установленной платформы о_О.
|
|||
19
Злопчинский
10.11.17
✎
23:40
|
(2) не знаю как в 8 но в клюшках если заполняешь тз на форме то тз надо сделать невидимой и заполнить, а потом видимость включить. Ускорение на порядок
|
|||
20
kev789
10.11.17
✎
23:47
|
(17) Тут ветка была, отказ от модальности в С# решается гораздо легче.
А в языке 1С это какой то треш (Новый ОписаниеОповещения) |
|||
21
lodger
11.11.17
✎
13:56
|
ОФ: просто код, происходит все линейно, модально и синхронно.
УФ: из-за асинхронности, немодальности и клиент-серверности придется в 3 раза больше кода писать и контролировать в каком контексте идет работа, данные формы коллекция или таблица значений, выведенная на форму таблица живет на сервере, обход строк таблицы на клиенте неразумен и тому подобные заморочки, которые в простых случаях усложняют разработку в разы, а исполнение кода в линейном синхронном стиле будет замедленно из-за беготни между контекстами. (0) вопрос. оно вам надо? |
|||
22
breezee
11.11.17
✎
14:37
|
(0) Рекомендую не использовать ком. Если есть возможность юзать веб сервисы или еще что-нибудь "по новее" лучше это юзать, ком довольно медленный. По формам не подскажу. А у вас будет серверная база или все на клиенте? И какие объемы данных будут? Может вам вообще 1с не нужен, если вы без конфигурации будете работать?
|
|||
23
breezee
11.11.17
✎
14:40
|
(21) А почему обход строк на клиенте не разумен? На счет в 3 раза больше кода, верно, и заморочки есть, но не совсем в 3 да и создание клиентской и серверной процедуры с подсказкой за один клик делается. Да и если все вынесено в модуль объекта/общие модули то проблем особо и не будет.
|
|||
24
Сниф
12.11.17
✎
22:21
|
(22) ком отдает данные построчно, скорей всего она работает на сокетах... Очень шустрый.
|
|||
25
AlvlSpb
12.11.17
✎
22:35
|
(24) Не встречал шустрого ком. На небольшом объеме работает еще приемлемо, но если строк более 1000, то тормозит и чем дальше в плюс от 1000 тем хуже, ждать выполнения устанешь
|
|||
26
Zamestas
12.11.17
✎
23:10
|
(0) А 1С точно для это нужна?
|
|||
27
SiAl-chel
13.11.17
✎
08:52
|
(0) А зачем конфигурация, если судя по описанию задачи, можно всё сделать на форме внешней обработки, которая может использоваться в любой конфигурации?
|
|||
28
1Снеговик
гуру
13.11.17
✎
09:13
|
(21) "а исполнение кода в линейном синхронном стиле будет замедленно из-за беготни между контекстами"
Так работай в серверном контексте, кто не дает? И сравни сначала с беготней и без беготни, потом утверждай. |
|||
29
1Снеговик
гуру
13.11.17
✎
09:14
|
Потом это все дела захочется на сервер перетащить, и все переделывать-переписывать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |