Portál AbcLinuxu, 10. května 2025 02:33

Dotaz: Optimalizace PYTHONU

25.6.2015 19:02 KK
Optimalizace PYTHONU
Přečteno: 434×
Odpovědět | Admin
Chlapy mám v py script přehledně v několika souborech a rychlost zpracování je 0.002910 sec. Když to dám do jednoho, tak je rychlost cca 0.000020 sec. ale je to masakr něco opravit (2845 řádků). Mám to řešit?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

25.6.2015 19:52 chrono
Rozbalit Rozbalit vše Re: Optimalizace PYTHONU
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ako je meraná tá rýchlosť?
Bystroushaak avatar 25.6.2015 20:02 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Optimalizace PYTHONU
Odpovědět | | Sbalit | Link | Blokovat | Admin
Proč se náš ptáš, jestli to máš řešit? To mám jako vytáhnout věšteckou kouli a podívat se, jestli to máš řešit, nebo ne?
blog.rfox.eu
25.6.2015 20:58 2X4B-523P | skóre: 38 | blog: Zelezo_vs_Debian
Rozbalit Rozbalit vše Re: Optimalizace PYTHONU
Odpovědět | | Sbalit | Link | Blokovat | Admin
to se spousti nekolikrat za sekundu, nebo jednou za nekolik vterin?
25.6.2015 22:20 source
Rozbalit Rozbalit vše Re: Optimalizace PYTHONU
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zdar. Problém asi bude v načítání těchto souborů z HDD do paměti. Jestli je to "jednorázovka", pak je to fuk. Ale pokud se skript volá třeba několikatísickrát, pak už je 15 násobné zpomalení znát. Zkusil bych se podívat na nějaké přednačtení souborů do paměti.
Bystroushaak avatar 25.6.2015 23:20 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Optimalizace PYTHONU
Řešení by bylo mnoho, například zde nedávno publikovaný blog Zabalení python package do jedné spustitelné binárky. Jenže to by prvně musel zjistit, jestli to má řešit, nebo ne.
26.6.2015 09:03 Radovan Garabík
Rozbalit Rozbalit vše Re: Optimalizace PYTHONU
Problém asi bude v načítání těchto souborů z HDD do paměti
Príčina, nie problém. Ak je problémom 2.9ms pri spustení skriptu, tak je niekde niečo zásadne zlé v autorových predstavách o použití toho skriptu.

Pri ďalšom načítaní to už bude rýchlejšie, a nebude to len fs cache, ale aj kompiláciou do *.pyc.

Bez kryštálovej gule si môžem len tipovať, že čas autor meria priamo v skripte a len jeden raz, takže pri monolitickom súbore sa meranie začne až po skompilovaní.
26.6.2015 13:17 Marky
Rozbalit Rozbalit vše Re: Optimalizace PYTHONU
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj, měl bych taky dotaz ohledně rychlosti
import time

while True:
     t = time.time()
     print(time.time() - t)
     time.sleep(1)
Jak je možné, že první spuštění je cca 3x rychlejší něž všechny následující ? Může mi to někdo vysvětlit ? Čekal bych přesný opak. Díky
Bystroushaak avatar 26.6.2015 13:22 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
Rozbalit Rozbalit vše Re: Optimalizace PYTHONU
První spuštění té nekonečné smyčky? První iterace té smyčky? Co to vůbec měříš - jak dlouho trvá uložení do proměnné a odečtení předchozí hodnoty?
pavlix avatar 26.6.2015 13:31 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Optimalizace PYTHONU
Odpovědět | | Sbalit | Link | Blokovat | Admin
1) Vážně se tady bavíme o rychlosti běhu skriptu, když je v obou případech nejhůře v řádu milisekund?

2) Jak máme vědět, jestli to máš řešit? Jak máme vědět, jestli ti ty milisekundy vadí?

3) Čistě teoreticky by měl být python rychlejší o kompilaci v případě, že se jedná o moduly, ty moduly jsou zkompilované (například tím, že byly spuštěné uživatelem s právem zápisu do daných adresářů).

4) Opakované spouštění by mělo navíc těžit z cache.

Ve zkratce, dotaz nepopisuje problém, a tudíž nemůže být vyřešen. Maximálně tu můžeme debatovat o zajímavostech typu rychlost načítání modulů za různých podmínek.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.