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

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

О сколько нам открытий чудных ... это что в замере?
Я
   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 или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.