[python] zaporny systemovy cas
Leos Pol
leos na radiante-corp.com
Úterý Listopad 28 14:56:51 CET 2006
superman wrote:
>> 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.
>
Nevim, jak to presne v pythonu je, ale obecne abstraktni syntakticky
strom je vstupem pro generator vnitrniho kodu, ktery by mel byt uz
snadneji optimalizovatelny.
Presto ale nechci uverit tomu, ze python ve vysledku udela neco jako:
mov cx, cislo
L1: <nacti dalsi 'i'>
loop L1
Kazdopadne k jistym upravam by melo take dochazet na urovni procesoru.
Jen muj nazor,
Leo
> Na optimalizaci chlapci zapoměňte. To je vyšší dívčí.
>
> Miloslav Ponkrác
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
--
----
Leos Pol
SW Engineer
Radiante Corp.
If it can be imagined,
we can implement it
Další informace o konferenci Python