|
Повторно-возвращаемые значения. | ☑ | ||
---|---|---|---|---|
0
H A D G E H O G s
19.02.14
✎
14:57
|
День добрый.
Хочу функцию вида Функция ЕстьТабЧастьДокумента(ИмяТабЧасти, МетаданныеДокумента) Экспорт Если МетаданныеДокумента.ТабличныеЧасти.Найти(ИмяТабЧасти) = Неопределено Тогда Возврат Ложь; Иначе Возврат Истина; КонецЕсли; КонецФункции // ЕстьТабЧастьДокумента() вынести в модуль повторно-возвращаемых значений. Вопрос - насколько будет тяжел ключ поиска для объекта МетаданныеДокумента, составленный платформой. Ваши мнения? |
|||
1
Адский плющ
19.02.14
✎
15:00
|
Вероятнее всего док будет проводится быстрее на 0.001%. Лютая оптимизация.
|
|||
2
H A D G E H O G s
19.02.14
✎
15:02
|
(1) Там тяжко все. Много таких вызовов. Хочется оптимизации.
|
|||
3
Ненавижу 1С
гуру
19.02.14
✎
15:03
|
Функция ЕстьТабЧастьДокумента(ИмяТабЧасти, МетаданныеДокумента) Экспорт
Возврат МетаданныеДокумента.ТабличныеЧасти.Найти(ИмяТабЧасти)<>Неопределено; КонецФункции |
|||
4
H A D G E H O G s
19.02.14
✎
15:04
|
(3) следующий!
|
|||
5
Feunoir
19.02.14
✎
15:05
|
(0) Передавай не метаданные, а имя документа.
|
|||
6
Жан Пердежон
19.02.14
✎
15:06
|
строкой сделай второй параметр
|
|||
7
H A D G E H O G s
19.02.14
✎
15:06
|
(5) Классно!
|
|||
8
H A D G E H O G s
19.02.14
✎
15:07
|
Как вариант - да.
Ну а все таки, есть мысли насчет Метаданных? |
|||
9
Feunoir
19.02.14
✎
15:09
|
(8) Я думаю, что только разработчики платформы тебе скажут. Или сравнительное тестирование.
|
|||
10
Asmody
19.02.14
✎
15:12
|
(8) да хер его знает, как оно там внутри реализовано. Метаданные ведь не объектом передаются (скорее всего), так что какой-то хеш там есть.
|
|||
11
Asmody
19.02.14
✎
15:14
|
другое дело, как они с этим хешем поступают, когда вычисляют параметр. насчёт "ленивости" языка ничего не известно, так что можно только гадать. или нарисовать тест на миллиард вызовов и замерить
|
|||
12
1Сергей
19.02.14
✎
15:14
|
Эм... объясните мне, тупому, что такое "модуль повторно-возвращаемых значений"
|
|||
13
H A D G E H O G s
19.02.14
✎
15:17
|
(12) ОМ, который кэширует результат выполнения функции с одинаковыми значениями параметров
|
|||
14
ДенисЧ
19.02.14
✎
15:17
|
(12) Модуль кеширует результаты функций
|
|||
15
1Сергей
19.02.14
✎
15:18
|
(13) (14) спасибо, примерно понял. Это появилось в 8.2?
|
|||
16
H A D G E H O G s
19.02.14
✎
15:18
|
да
|
|||
17
1Сергей
19.02.14
✎
15:19
|
спс
|
|||
18
Feunoir
19.02.14
✎
15:27
|
(8) Ну вот так как-то
{ОбщаяКоманда.ОбщаяКоманда1.МодульКоманды(11)}: Ошибка при вызове метода контекста (ЕстьТабЧастьДокумента_Мета) Зн = ТестКонтекста.ЕстьТабЧастьДокумента_Мета("Товары", МетаДок); по причине: Несоответствие типов (параметр номер '2') (Неверный тип параметра. Допустимы только примитивные типы, ссылки, Структура) |
|||
19
H A D G E H O G s
19.02.14
✎
15:36
|
Фух. Надо было сначало мне ткнуть ее (1С), а потом писать.
|
|||
20
Feunoir
19.02.14
✎
15:38
|
(19) А вообще вот результаты: http://i.imgur.com/XPo7uGO.png
замер 1 с включенным кешированием, замер 3 - без кеширования. В конфигурации 2 документа у проверяемого документа 1 табличная часть. |
|||
21
1Сергей
19.02.14
✎
15:39
|
(19) не переживай. тут все сперва бегут на мисту, а потом только в конфигуратор )
|
|||
22
Feunoir
19.02.14
✎
15:41
|
(21) Неправда. Не все :) И не всегда
|
|||
23
1Сергей
19.02.14
✎
15:43
|
(20) нипанятна
так с повторно-возвращаемыми значениями быстрее или нет? |
|||
24
Asmody
19.02.14
✎
15:44
|
(20) так у тебя файловый вариант
|
|||
25
Feunoir
19.02.14
✎
15:47
|
(23) Почти вдвое. 1,6 секунды против 3,1 секунды.
(24) А какая разница? Думаешь сервер пропустит в повторно-вызываемых какие-то другие типы данных? |
|||
26
Jaap Vduul
19.02.14
✎
16:19
|
(25)
Видимо, в (24) имелось в виду, что в случае клиент-серверной базы результаты замера будут другие. Вообще, ИМХО, имеет смысл кэшировать те результаты, за которыми приходится в СУБД лезть. В случае же (0), полагаю, вообще никакого выигрыша не будет, а наоборот. |
|||
27
H A D G E H O G s
19.02.14
✎
16:20
|
(26) "
Вообще, ИМХО, имеет смысл кэшировать те результаты, за которыми приходится в СУБД лезть. " да, вы правы. Я - погорячился. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |