[python] Vykon Pythonu v praxi

Jan Matejka matejka na cat.cz
Čtvrtek Září 25 19:40:58 CEST 2003


Zkuste si jeste puthon JIT
http://psyco.sourceforge.net/
JM


-----Original Message-----
From: python-bounces na py.cz [mailto:python-bounces na py.cz] On Behalf Of
Radim Kolar
Sent: Thursday, September 25, 2003 3:32 PM
To: Ceska Pytoni konference
Subject: [python] Vykon Pythonu v praxi


Udelal jsem si test vykonu Pythonu v real-world byznis aplikaci. V mem
pripade to byl davkovy import dat do databaze. 

Abych to napsal co mozna nejpytonstejsi napsal jsem to co mozna nejvice
objektove. Vytvoril jsem objekt a ten mel jednotlive polozky oznacujici
jednotlive priznaky. objekt mel metody nacti ze souboru, nacti z
database a protoze vim z Javy ze procedure call je expesive, udelal jsem
jeste metody nastav atribut ze soubory (jmeno, hodnota) nastav atribut z
databaze(jmeno, hodnota) mapovani atributu mezi souborem a databazi neni
1:1. Pak jsem si vytvoril jeste funkce eskepujsql, eskejpuj radku atd,
ktere jsem take volal vsude kde to bylo mozne.

Zde bych jeste dodal ze predchozi importer byl v Jave, database je
postgresql 7.2.

Vysledky byly nejenze dobre ale primo vynikajici:

Import 30M souboru trval na P2/266 1 minutu. Pricemz CPU cas mezi
databazi a pythonem se delil v pomeru 80:20 (databaze sezrala tech 80),
v pripade Javy importeru to bylo asi 86:XX.

Pythonsky zdrojak byl tretinovy co do delky oproti Java zdrojaku, kdyz
se k tomu pripocte srozumitelnost, snadnejsi udrzba tak z toho vyplyva
ze se tohleto v Jave psat zkratka nevyplati - neprinese to nic
podstatneho navic. Kdyz je to kratsi, maji bugy mene prostoru na to aby
se poschovavaly.

Zkusil jsem jeste rozdil python2.1 a python2.2 a zadnou meritelnou zmenu
v rychlosti jsem nezjistil; casove rozdily byly mensi nez chyba mereni.

Co ale bylo zajimave, ze Python jede velice podstatne rychleji na
Pentiu2 narozdil od Javy, kde je rozdil mezi stejne rychlym p1 a p2 nic
moc. Takze doporucuju psat pythonskym programatorum min. cpu=pentium2.

Jeste by mne zajimalo za nekdo zkousel prelozit python s optimalizaci
pro i686 a i386 a porovnal vysledky pod windows a linuxem. V debian
mailing listu byla diskuze zda kompilovat debian pro 386 a 686 a vyslo
najevo ze vysledky testu neukazuji zadne podstatne zrychleni.

c/





Další informace o konferenci Python