Форум сайта python.su
я заметил что у меня веб страница генерируется долго времени 50мс, и все это время занимают какие-то задержки.
вот тест код:
# coding: utf-8
import time
def fun():
t = time.time()
msg = ''
for i in xrange(100000):
a = 6555*84567/1230/456
a = 6555*84567/1230/456
a = 6555*84567/1230/456
a = 6555*84567/1230/456
a = 6555*84567/1230/456
a = 6555*84567/1230/456
t2 = time.time()
d = (t2-t)*1000
t = t2
if d>1: print '%d' % d
fun()
15
15
15
16
16
14
Офлайн
Можу через те що процесорного часу по різному надається:
[crchemist@localhost tmp]$ /usr/bin/time -f "%P" python t.py
1
5
92%
[crchemist@localhost tmp]$ /usr/bin/time -f "%P" python t.py
1
3
2
91%
[crchemist@localhost tmp]$ /usr/bin/time -f "%P" python t.py
13
2
17
19
13
5
18
5
8
9
8
2
7
8
2
2
2
2
2
2
2
2
69%
[crchemist@localhost tmp]$ man time
[crchemist@localhost tmp]$ /usr/bin/time -f "%P" python t.py
97%
[crchemist@localhost tmp]$ /usr/bin/time -f "%P" python t.py
95%
[crchemist@localhost tmp]$ /usr/bin/time -f "%P" python t.py
15
12
5
11
8
8
5
12
2
2
2
2
2
2
2
2
2
2
2
2
77%
[crchemist@localhost tmp]$ /usr/bin/time -f "%P" python t.py
95%
[crchemist@localhost tmp]$ /usr/bin/time -f "%P" python t.py
99%
[crchemist@localhost tmp]$ /usr/bin/time -f "%P" python t.py
94%
[crchemist@localhost tmp]$ /usr/bin/time -f "%P" python t.py
14
13
92%
Офлайн
crchemistно почему такие разрывы большие, в общем случае один проход(1 итерация) проходит за 0,01мс, а разрыв = 15мс, т.е. в 1500 раз больше времени уходит на разрыв,
Можу через те що процесорного часу по різному надається:
Офлайн
Наверное у нас машины сильно разных весовых категорий - все происходит намного быстрее :)
Но тоже неравномерно.
Еще одна причина (кроме того, как OS распределяет время) в sys.getcheckinterval() - увеличение его помогает.
Но это все такая фигня…
Офлайн
Андрей Светловпоигрался с этим параметром, лучше не стало
Еще одна причина (кроме того, как OS распределяет время) в sys.getcheckinterval() - увеличение его помогает.
Офлайн
А причем тут GIL, поток то один? Возможно в какой то момент планировщик операционки переключает выполнение скрипта на другое приложение.
Офлайн
k0shя думаю операционка ни причем, т.к.
А причем тут GIL, поток то один? Возможно в какой то момент планировщик операционки переключает выполнение скрипта на другое приложение.
Офлайн
Ваш скрипт в любом случае будет грузить одно ядро. Такова архитектура питона.
Прерывания тут не причем.
Офлайн
lightcasterвопрос не про то
Ваш скрипт в любом случае будет грузить одно ядро. Такова архитектура питона.
Прерывания тут не причем.
Офлайн
o7412369815963На хабре есть тест сравнения производительности разных языков. Запустил на своем компе их тест (то же какой то цикл). Процессор загрузился всего на 25% (загрузил 4 ядра…очень неравномерно) :( … не ерундит питон? или проблема в системе?
кстате этот скрипт грузит ядро(не проц) всего на 50%, видимо из за этих прерываний
lightcasterС многопоточностью не работал, но считал что ОС распределяет потоки внезависимости от приложения которые их (потоки) запустили. Т.е. ОС распределит все по ядрам, если проц. многоядерный. Просвятите, пожалуйста.
Ваш скрипт в любом случае будет грузить одно ядро. Такова архитектура питона.
Прерывания тут не причем.
Офлайн