Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia Tuesday TopDrive KupDnes Navrcholu Bomba NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názor ke zprávičce PyPy 1.2: první verze s JIT kompilerem

Miloslav Ponkrác aura:58
15. 3. 2010 15:17

Re: Význam

celé vlákno

Osobně myslím, že napsat JIT v C++, což je asi nejvhodnější jazyk na tyhle akce je jednodušší i ve výsledku.

On to totiž nikdo nenatlačí. Jistě je Python vhodný pro prototypování, nicméně JIT už není nic tak jednoduché, aby se to zvládlo prototypizací.

Zvláštní je, že všechny komerční produkty obsahující JIT, a velmi dobré a silné JIT – tak firmy ani nenapadlo zabývat se ničím jiným, než C++, nebo C.

Napsat vynikající JIT kompilaci je velmi sofistikovaný a složitý sw problém. Je to jedna z nejmachrovi­tějších akcí, co vůbec můžete jako programátor napsat. Napsat vynikající optimalizátor kompilovaného jazyka, nebo vynikající JIT (každý z obou věcí je dost jiný problém) je jeden z vrcholů programátorské virtuozity. A není to nic snadného, chce to obrovské množství kódu, dobře rozmyšlenou architekturu, využití dlouholetých zkušeností a opravdu mnoho člověkoroků práce.

Napsat třeba linux kernel je proti tomu velmi srandovní a jednoduchá věc, kterou lidé dostatečně teoreticky i prakticky fundovaní psát vynikající optimalizátor, nebo JIT napíší levou zadní. Tím nechci podceňovat linux kernel, jen ukazuje, jak složitý problém napsat JIT je.

Píše snad někdo linux kernel tak, že nejdříve ho napíšu v Pythonu a pak celý přepíše do C/C++? Ne! Proč? Protože je to blbost a ta práce za to nestojí. Nehledě na to, že Python vůbec nedisponuje řadou potřebných možností pro kernel, ani pro dobrý JIT. Úplně v jeho možnostech chybí řada konstrukcí.

Tudíž JIT, který se nenapíše od nuly v C/C++ za moc stát stejně nebude.