Имя: Пароль:
1C
 
О сколько нам открытий чудных ... это что в замере?
, ,
0 RomaH
 
naïve
02.03.21
08:11
https://ibb.co/vw0LPJ6

28 раз комментарий вызывается?
1 ДенисЧ
 
02.03.21
08:13
Если в конфигураторе ты видишь фигню - проверь, сохранил ли ты конфигурацию? И почистил ли ты кеш?
3 Mikeware
 
02.03.21
08:24
(1) а обратно - верно?
4 Mikeware
 
02.03.21
08:25
(1) а обратное - верно?
5 ДенисЧ
 
02.03.21
08:39
(3) да
(4) да

)))
6 Itmaint
 
02.03.21
09:03
(5) +
7 Fedor-1971
 
02.03.21
09:40
(0) таки 1С можно считать смесью интерпретатора и компилированного кода
На картинке констатирован факт: В процессе исполнения, по некому правилу (индексу), получили представление исполняемой строки 28 раз, а то, что там "////" никого не волнует, представление получено и всё.

Очень возможно, что поймал в замер компиляцию кода
8 ДенисЧ
 
02.03.21
09:45
(7) Мда... Доктор же прописывал таблетки, почему ты их не принимаешь?
9 RomaH
 
naïve
02.03.21
09:48
остановил сервер
удалил все из папки srvinfo\reg_1541

аналогично почистил папку базы
AppData\Roaming\1C\1cv8\f3d366a6-9eb0-41a0-905d-48d6e6698179

все равно
ОбщийМодуль.ОбщегоНазначения.Модуль    1    ///////////////////////////////////////////////////////////////////////////////////////////////////////    28    0,131450    145,37

фишка в том, что
ОбщийМодуль.ОбщегоНазначения больше нигде 28 раз не вызывается

27 есть
29 есть

а 28 - только эта строка
10 Почему 1С
 
02.03.21
09:48
Кстати на днях увидел такую же фигню , и очень похоже в том же модуле
11 Почему 1С
 
02.03.21
09:56
12 polosov
 
02.03.21
09:59
Пора поставить там точку останова.
13 RomaH
 
naïve
02.03.21
10:07
(12) не срабатывает
14 Fedor-1971
 
02.03.21
10:18
(8) "Сдвинь корону на бок, чтоб не висла на ушах".

(12) Точка  останова не сработает, т.к. связать исполняемую строку с текстом кода не получилось, вот и вывели первую из модуля
15 arsik
 
гуру
02.03.21
10:19
(9) а AppData\Local\1C\ кто чистить будет?
16 arsik
 
гуру
02.03.21
10:20
+(15) Там кеш конфигурации для разработки хранится, я так помню
17 RomaH
 
naïve
02.03.21
10:33
Процедура ПриОпределенииВидовПодключаемыхКоманд(ВидыПодключаемыхКоманд) Экспорт
    
    Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
        МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");

вот тут добавляется один вызов


сама функция
Функция ОбщийМодуль(Имя) Экспорт
    
    Если Метаданные.ОбщиеМодули.Найти(Имя) <> Неопределено Тогда
        // АПК:488-выкл ВычислитьВБезопасномРежиме не используется, чтобы избежать вызова ОбщийМодуль рекурсивно.
        УстановитьБезопасныйРежим(Истина);
        Модуль = Вычислить(Имя);
        // АПК:488-вкл
    ИначеЕсли СтрЧислоВхождений(Имя, ".") = 1 Тогда
        Возврат СерверныйМодульМенеджера(Имя);
    Иначе
        Модуль = Неопределено;
    КонецЕсли;
    
    //Если ТипЗнч(Модуль) <> Тип("ОбщийМодуль") Тогда
    //    ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
    //        НСтр("ru = 'Общий модуль ""%1"" не найден.'"),
    //        Имя);
    //КонецЕсли;
    
    Возврат Модуль;
    
КонецФункции


фишка в том, что замер внутри этой функции не работает
т.е. захожу в функцию по F11 - включаю замер
F11 - выключаю замер - пустота

а F10 на строке
МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");
дает:

ОбщийМодуль.ОбщегоНазначения.Модуль    1        1    0,000034    11,05
ОбщийМодуль.ОбщегоНазначения.Модуль    1 216    Если Метаданные.ОбщиеМодули.Найти(Имя) <> Неопределено Тогда    1    0,000069    22,24
ОбщийМодуль.ОбщегоНазначения.Модуль    1 218    УстановитьБезопасныйРежим(Истина);    1    0,000013    4,22
ОбщийМодуль.ОбщегоНазначения.Модуль    1 219    Модуль = Вычислить(Имя);    1    0,000121    38,93
ОбщийМодуль.ОбщегоНазначения.Модуль    1 225    КонецЕсли;    1    0,000002    0,55
ОбщийМодуль.ОбщегоНазначения.Модуль    1 233    Возврат Модуль;    1    0,000002    0,74
ОбщийМодуль.ОбщегоНазначения.Модуль    1 235    КонецФункции    1    0,000012    3,90
ОбщийМодуль.ИнтеграцияПодсистемБСП.Модуль    1 412    МодульУправлениеПечатью = ОбщегоНазначения.ОбщийМодуль("УправлениеПечатью");    1    0,000053    17,11
18 RomaH
 
naïve
02.03.21
10:40
вот оно

Модуль = Вычислить(Имя);

Имя = "УправлениеПечатью"

а почему?
19 polosov
 
02.03.21
10:48
(18) Чтобы потом Модуль.ИмяМетода() сделать?
20 RomaH
 
naïve
02.03.21
10:54
(19) да
        В = Вычислить("А = 1");
        Модуль = Вычислить(Имя);
- аналогично
ОбщийМодуль.ОбщегоНазначения.Модуль    1        2    0,000047    17,05

а ОбщийМодуль без Вычислить не получить...
21 rphosts
 
02.03.21
11:01
(0) галочка "включая воженные" или как оно там стоит? 54% это не в плане всего по этому модулю суммарно?
22 RomaH
 
naïve
02.03.21
11:12
(21) прочитал (18)?

ну как бы:

https://ibb.co/gJ3fDMZ

код общего модуля:
Функция А() Экспорт
    Возврат 1 = 1;
КонецФункции

Функция ВычислитьА() Экспорт
    Возврат Вычислить("1 = 1");
КонецФункции
23 polosov
 
02.03.21
11:19
(20) Ты может чего-то не понял.
Вот для этого это делается:

    М = Вычислить("ОбменМобильныеКлиент");
    М.ОповеститьОЗавершении();
24 RomaH
 
naïve
02.03.21
11:19
да понял для чего
я смотрю почему в замере первая строка модуля фигурирует и на что она влияет
25 RomaH
 
naïve
02.03.21
11:28
похоже просто так отображает
пустой ОМ дает такой же результат по замеру что и типовой ОМ
26 polosov
 
02.03.21
11:36
(25) Не просто так.
Модуль в это время инициализируется.
В (7) в правильном направлении мысли.
AdBlock убивает бесплатный контент. 1Сергей