Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 12, 2014 23:33:18

d54wvzc+i5zirs
Зарегистрирован: 2014-05-26
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Профильровщики

Есть гуёвая программа (написанная не мной) и в ней одно из действий достаточно долго выполняется. Нужно подправить этот момент, каким образом можно найти месте где программа “задумывается”?

Офлайн

#2 Авг. 13, 2014 08:45:38

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Профильровщики

Банзаааай

from pysnmp.entity.rfc3413.oneliner import cmdgen
print 1
import re
print 2
import time
print 3
import timeit
print 4
errorIndication, errorStatus, errorIndex, varBinds = cmdgen.CommandGenerator().getCmd(cmdgen.CommunityData('test-agent','123'),cmdgen.UdpTransportTarget(('xxxx',161)),'.1.3.6.1' )
print 5
s = str(varBinds)
print 6
print s[s.rindex('(')+1:-3]
print 7
ИЛИ поделите прогу и timeit вставьте. Чета я больше ничего не придумал (Ушёл кофе наливать)

Отредактировано noob_saibot (Авг. 13, 2014 08:53:02)

Офлайн

#3 Авг. 13, 2014 09:48:09

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Профильровщики

https://docs.python.org/2/library/profile.html

Запускать естественно надо кусок который тормозит.



Отредактировано doza_and (Авг. 13, 2014 09:48:55)

Офлайн

#4 Авг. 13, 2014 10:51:59

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Профильровщики

d54wvzc+i5zirs
каким образом можно найти месте где программа “задумывается”?
doza_and
https://docs.python.org/2/library/profile.htmlЗапускать естественно надо кусок который тормозит.
Походу не то)

Офлайн

#5 Авг. 13, 2014 11:49:30

d54wvzc+i5zirs
Зарегистрирован: 2014-05-26
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Профильровщики

doza_and
https://docs.python.org/2/library/profile.htmlЗапускать естественно надо кусок который тормозит.
Мне бы найти сначала этот кусок В этом то и суть всего вопроса.

Офлайн

#6 Авг. 13, 2014 15:45:38

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Профильровщики

d54wvzc+i5zirs
Мне бы найти сначала этот кусок
А как вы узнали что оно тормозит?
Я имел ввиду что GUI не отпрофилируешь - надо кнопки ручками нажимать.



Офлайн

#7 Авг. 13, 2014 16:11:06

d54wvzc+i5zirs
Зарегистрирован: 2014-05-26
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Профильровщики

Когда производишь действия над элементами графического интерфейса, действие происходит не сразу, а через пару тройку секунд.

Офлайн

#8 Авг. 13, 2014 16:21:40

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Профильровщики

doza_and
надо кнопки ручками нажимать.
Не обязательно. Можно генерировать события
Но это очень геморно… В этом случае необходимо предварительно анализировать карту событий и самому их строить. Искать последовательность событий, за которыми происходит тормоз и повторить все с генераций событий. По результату генерации можно использовать и проффилировщик.

P.S. Написал на Tkinter. Как в PyQt не в курсе.

Отредактировано 4kpt_II (Авг. 13, 2014 16:22:54)

Офлайн

#9 Авг. 13, 2014 16:25:16

d54wvzc+i5zirs
Зарегистрирован: 2014-05-26
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Профильровщики

У меня приложение на gtk

Офлайн

#10 Авг. 13, 2014 16:26:46

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Профильровщики

Ну. Тут я помочь не могу. Нужно было же указать это в теме или в посте. Прошу прощения за ложную надежду

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version