Имя: Пароль:
1C
1С v8
Имеет ли смысл передавать контекст формы функции которой он не нужен?
, , ,
0 markers
 
28.07.16
11:15
Доброго времени суток!
Уже вроде и давно пишу свой быдлокод на управляемых формах и разумеется знаю что выполнение серверного кода лучше выполнять без контекста (если он там не нужен), чтобы не заставлять лишний раз сериализировать форму и гонять её туда-сюда и потом десериализировать. Это речь шла про инструкцию препроцессора &НаСервереБезКонтекста.
Но есть такая инструкция препроцессора &НаКлиентеНаСервереБезКонтекста, я понимаю что туда можно засунуть код который может выполняться и вызываться и с клиента и с сервера, если этому коду не нужен будет контекст. Теперь внимание вопрос, имеет ли смысл использовать именно эту инструкцию препроцессора, когда нам необходимо написать простую клиентскую функцию (условно вычисляющую 2+2) или не будет от этого выигрыша в плане производительности?

Простите за такой нубовский вопрос и заранее спасибо за ответ!
1 singlych
 
28.07.16
11:18
Функции, при реализации которых встает вопрос о производительности, не должны выполняться на клиенте.
2 markers
 
28.07.16
11:26
(1) Это само собой, но есть например функция которая пробегает в цикле по заведомо маленькому списку (10 позиций это уже перебор), как мне кажется, накладных расходов будет больше (даже без контекста) передавать это на сервер (тем-более данные и так уже на клиенте), чем на клиенте.
3 singlych
 
28.07.16
11:28
Ну так делай это на клиенте.
4 Fragster
 
гуру
28.07.16
11:30
(0) так делать правильно.
5 markers
 
28.07.16
11:34
Уточню вопрос, есть ли принципиальное различие выполнения кода на _клиенте_ с использованием инструкции препроцессора &НаКлиенте и &НаКлиентеНаСервереБезКонтекста с точки зрения производительности (в &НаКлиентеНаСервереБезКонтекста смотрите на "БезКонтекста", а не на "НаСервере")
6 Fragster
 
гуру
28.07.16
11:35
нет
7 markers
 
28.07.16
11:42
(6) Благодарю за ответ, а так-же всех остальных.
8 YFedor
 
28.07.16
11:48
Не имеет смысл передавать куда-либо то, что там не нужно © Ваш Кэп
9 markers
 
28.07.16
11:52
(8) В случае выполнения кода на сервере, полностью согласен, но в случае выполнения кода на клиенте получается нет разницы (Эх, вы опять посеяли семя сомнения).
10 singlych
 
28.07.16
11:56
Ты переживаешь, что, вызвав НаКлиенте из НаКлиенте, у тебя куда-то там передался контекст?
11 Fragster
 
гуру
28.07.16
11:56
тут 1сники негодяи. надо было им в модуле команды сделать &НаКлиентеНаСервереБезКонтекста вместо &НаКлиентеНаСервере (все равно контекста нет), тогда не было бы разночтений.
(На клиенте) или (на сервере без контекста)
12 Fragster
 
гуру
28.07.16
11:57
а вообще очень хочется, чтобы в модуле менеджера было такое же деление и его можно было бы вызывать с клиента
13 Поросенок Петр
 
28.07.16
12:04
(9) Разница она не только в скорости выполнения, если функции не нужен контекст, то и нечего его передавать.