[python] zaporny systemovy cas
superman
feed na centrum.cz
Úterý Listopad 28 14:41:01 CET 2006
> A na jakou optimalizaci konkrétně se ptáš?
> Bral jsem to spíš obecně. Ale rád se nechám
> poučit, co přesně se děje při provádění pass.
Haha. Vzhledem k tomu, že GvR dělá problém pouhá implementace některých
příkazů, a snaží se je v pythonu 3000 vyhodit, přičemž se tímto důvodem
vůbec netají, pak čekáte subtilnější věci jako je optimalizace?
Proboha, vždyť se na to podívejte. Python prostě přeparsuje (a i to dělá
špatně a se sekama), pak to převede do binární formy, kterou nahraje
jako pyc, nebo optimalizované, kterou nahraje jako pyo, a která se
prakticky ve výkonném kódu naprosto neliší od neoptimalizované.
Nějaká optimalizace naprosto nehrozí, protože je to jednak náročná věc
(taková optimalizační jednotka bývá řádově složitější, než zbytek
kompilátorů a interpretrů - není vůbec problém, aby optimalizační
jednotka obsahovala 95% veškerého kódu i více), navíc žere čas a to u
pomalého pythonu by byl problém.
Takže si opravdu nedělejte starosti, že by pass, případně dokonce for
cyklus python vyoptimalizoval. Navíc python zavádí čím dál víc
konstrukcí, které by chtěly opravdu velmi vysokou inteligenci aby se
daly vyoptimalizovat, například klasický cyklus for, který se relativně
dobře optimalizuje v pythonu neexistuje!!! Namísto toho je tam cyklus
foreach, který se optimalizuje extrémně špatně až nemožně.
Buďte rádi, že je GvR a spol. schopen napsat interpretr jakž takž. I tak
se mi to nelíbí. Proč se třeba nepoužije generátor parserů a gramatiky a
namísto si GvR lepí svůj, samozřejmě horší, nechápu. Namísto toho na
přednáškách o novém pythonu se dozvídám, že světě div se, GvR použije
abstraktní syntaktické stromy!!! To mě zajímá asi stejně jako na výstavě
traktorů, že jsou tam matičky M10.
Na optimalizaci chlapci zapoměňte. To je vyšší dívčí.
Miloslav Ponkrác
Další informace o konferenci Python