Avatar
FastNode
Redaktor
Avatar
FastNode:

Zdravím.
Kvůli optimalizaci jsem si vytvořil skript, který by měl měřit délku běhu skriptu. Ten skript by měl zadané skripty několikrát spustit a nakonec zprůměrovat časy běhu každého spuštění.

http://www.itnetwork.cz/dev-lighter/257

Jenže po spuštění např.

$ python speed_test.py 10 test/test1.py test/test2.py

dostanu strašně dlouhou dobu běhu při prvním spuštění:

### DETAILNI VYSLEDKY ###
  test/test1.py
    367.594003677 ms
    0.253200531006 ms
    0.0300407409668 ms
    0.0209808349609 ms
    0.0200271606445 ms
    0.0200271606445 ms
    0.0197887420654 ms
    0.0200271606445 ms
    0.0200271606445 ms
    0.0190734863281 ms

  test/test2.py
    20.5118656158 ms
    0.0839233398438 ms
    0.0228881835938 ms
    0.0209808349609 ms
    0.0200271606445 ms
    0.0200271606445 ms
    0.018835067749 ms
    0.0200271606445 ms
    0.0190734863281 ms
    0.018835067749 ms

### PRUMERNE VYSLEDKY ###
  > test/test1.py - 36.8017196655 ms
  > test/test2.py - 2.0756483078 ms

test1.py

for i in range(10000):
  print 'TEST' + str(i)

test2.py

for i in range(2000):
  x = i * i * i * i
print (x / x) + x / 100000

Chtěl bych se zeptat čím to může být a jak se toho nejlépe zbavit? :)

Editováno 9.12.2013 17:42
 
Odpovědět 9.12.2013 17:41
Avatar
FastNode
Redaktor
Avatar
Odpovídá na FastNode
FastNode:

Tak python evidentně cachoval kód (bytecode) který jsem spouštěl přes exec, takže pouze první časy odpovídaly době běhu. Vyřešil jsem to přes compile.
Kdo by měl zájem, hotový skript je zde: http://www.itnetwork.cz/dev-lighter/257 :)

 
Nahoru Odpovědět 11.12.2013 20:05
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.