Имя: Пароль:
1C
1C 7.7
v7: замер производительности
,
0 Eugene_a
 
10.09.18
10:53
а что могут означать отрицательные проценты в замере производительности?
https://docs.google.com/drawings/d/1m6_6MNNDIBMeWAWEqumEP62WvYiu0kc1IIMcDEMPS1Q/edit?usp=sharing
1 Смотрящий
 
10.09.18
10:56
Хер его знает. Без лупы нивидать ничо.
2 Eugene_a
 
10.09.18
12:04
включил лупу.
видно?
3 Злопчинский
 
10.09.18
12:23
закрой отладчик. закрой прогу.
запусти заново прогу. запусти заново отладчик.
СНАЧАЛА сделай точку останова ГДЕ ВКЛЮЧИШЬ ЗАМЕР.
потом сделай точку останова ГДЕ ВЫКЛЮЧИШЬ ЗАМЕР.
запусти расчет. ВКЛЮЧИ ЗАМЕР НА ТОЧКЕ ОСТАНОВА. запусти продолжение расчета. ВЫКЛЮЧИ ЗАМЕР на концевой точке останова.
посмотри - минусы остались?
4 Eugene_a
 
10.09.18
12:40
я запускал замер, нажимал на кнопку и ждал, когда отработает процедура_по_нажатию_на кнопку.

минусы были только один раз, больше не повторялось.

(3) так тоже теперь работает без минусов.
5 Eugene_a
 
10.09.18
12:40
где в результатх смотреть общее время выполнения в секундах?
6 Eugene_a
 
10.09.18
12:42
если процедура А вызывает процедуру В,
то % времени внутри В также включается и в % времени внутри А ?
7 Злопчинский
 
10.09.18
13:10
(4) Чудо, не правда ли?!
не суетись под клиентом. делай последовательно. одно за одним. не перескаивай с пятого на десятое. и все будет предсказуемо.
8 Злопчинский
 
10.09.18
13:10
(5) Общее время выполнения ЧЕГО?
9 Злопчинский
 
10.09.18
13:11
(6) да
10 Eugene_a
 
10.09.18
13:40
(8) общее время от момента запуска до момента остановки замера. общий секундомер.

(9) тогда мне не понятно:
https://docs.google.com/drawings/d/1X-1K0I_vntNJOVu-geccSflTtJi0ZJ3mWhif15aX9i0/edit?usp=sharing
"Сформировать" (А) вызывается один раз, внутри она 10 раз вызывает "сформировать_отдел" (В)
значит время А (87%) должно включать свое тело и время В (88%).
но что-то не сходится....
11 Eugene_a
 
02.10.18
17:00
(8) общее время от момента запуска до момента остановки замера. общий секундомер, в секундах.
12 Злопчинский
 
02.10.18
17:29
(10) Значит Б у тебя вызывается где-то еще, вне А.
общщее время можно посчитать так

время = _GetPerformanceCounter();
Сформировать()
время = (_GetPerformanceCounter()-время)/1000;
Сообщить("в секундах: "+время);
13 Злопчинский
 
02.10.18
17:29
(11) хз, как-то особо не задумывался
14 Злопчинский
 
02.10.18
17:32
При работе с периодическими значениями если идет массовая их обработка ~25% выигрыша можно получить если использовать объект "Периодический"
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший