Вход | Регистрация
 

О сколько нам открытий чудных ... это что в замере?

О сколько нам открытий чудных ... это что в замере?
Я
   RomaH
 
02.03.21 - 08:11
https://ibb.co/vw0LPJ6

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

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


Очень возможно, что поймал в замер компиляцию кода
   ДенисЧ
 
8 - 02.03.21 - 09:45
(7) Мда... Доктор же прописывал таблетки, почему ты их не принимаешь?
   RomaH
 
9 - 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 - только эта строка
   Почему 1С
 
10 - 02.03.21 - 09:48
Кстати на днях увидел такую же фигню , и очень похоже в том же модуле
   Почему 1С
 
11 - 02.03.21 - 09:56
   polosov
 
12 - 02.03.21 - 09:59
Пора поставить там точку останова.
   RomaH
 
13 - 02.03.21 - 10:07
(12) не срабатывает
   Fedor-1971
 
14 - 02.03.21 - 10:18
(8) "Сдвинь корону на бок, чтоб не висла на ушах".

(12) Точка  останова не сработает, т.к. связать исполняемую строку с текстом кода не получилось, вот и вывели первую из модуля
   arsik
 
15 - 02.03.21 - 10:19
(9) а AppData\Local\1C\ кто чистить будет?
   arsik
 
16 - 02.03.21 - 10:20
+(15) Там кеш конфигурации для разработки хранится, я так помню
   RomaH
 
17 - 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
   RomaH
 
18 - 02.03.21 - 10:40
вот оно

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

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

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

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

ну как бы:

https://ibb.co/gJ3fDMZ

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

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


Список тем форума
Рекламное место пустует  Рекламное место пустует
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.