Pokud jde o zrychlení Pythonu, doporučuji vyzkoušet balíček numba. Za mě výborný poměr investovaný úsilí/výkon. Z mé zkušenosti (v konkrétních příkladech) byla numba o trochu rychlejší, než Cython
jj ten projekt je moc pěkný a bude o něm článek příště. Používáte statickou kompilaci (pycc) nebo překlad za běhu?
Používám kompilaci za běhu. Pravda, že pokud je kód jednoduchý (krátký běh) a funkce se volá jenom jednou, tak to často trvá déle kvůli kompilaci. Ale na takové funkce není rozhodně numba dělaná :-).
Jinak na článek o numbě se těším. Měl jsem trochu problém rozchodit paralelizaci, tak věřím, že po přečtení budu chytřejší.
tak jen doplním, že hned příště bude "jen" Cython (jak s ním dělat, nějaký specialitky typu char* apod.) a hned potom samostatný článek o Numba. Takže klasika Út+Čt :)
Na Cythonu se mi líbí, že umožňuje optimalizovat jenom důležité části aplikace, třeba jen jeden modul nebo jedinou funkci. RPython je dost stylem všechno nebo nic. Dá se taky v cythonu vyhrát s `cythonize` - bude o něm třeba příště řeč? pěkný tool, hlavně vytvoření HTML stránky s analýzou co a jak se přeložilo do céčka.
Všechny výsledky si můžeme vynést do grafu, který však nebude příliš přehledný, neboť doba výpočtu v CPythonu a Jythonu výrazně mění vertikální měřítko :-)
Díky za ty formality, to až se kamarádům pochlubím, kdo mě to žádal o obrázek do článku... Samozřejmě ano, dám tomu WTFPL, to by mělo většinu právnických problémů eliminovat :)
díky! já jen pro jistotu :-) jinak zrovna z té WTFPL je vždycky naše legal na větvi (máme ji ve vygenerovaných Release Notes, kde ji skriptem zase odstraňuju), takže ji taky rád používám :-p
No, nepřijde mi, že číst logaritmický měřítko je tak složitý... Vidíš tam ten samý řádový rozdíl a ještě jako bonus z toho grafu dostaneš rozumně přesný čísla jak ve spodní, tak v horní části grafu.
U světla, bez ocejchovaný a popsaný osy z grafu tak jako tak nevyčteš ani prd. Logaritmická osa se dobře hodí na nějaký typy dat a špatně na jiný typy dat. A nemůžeš jí číst úplně stejně jako klasickou. IIXIXV taky není 1995. Logaritmická osa prostě neukazuje 1-2-3 ale 1-10-100. Vyčteš řádový rozdíl, což je ta podstatná informace, když máš řádově rozdílný data.
Proč je článek zařazen v ,,Root.cz » Kompilery a procesory" a ne v ,,Root.cz » Programovací jazyky"?
když ohlédnu od toho, že rubrika "Kompilery a procesory" zní dost uměle, tak Cython je překladač/kompiler a RPython je jak kompiler, tak i jazyk (podmnožina Pythonu). Já bych to tedy vrazil do obou rubrik :-) Ale něco mě říká, že to musí být "strom" a ne "obecný graf"... Dá se vlastně někde získat seznam rubrik? tedy jinak než klikáním na všechny články...
Jenom je prostě blbé, že všechny články ,,seriál" tohoto autora jsou v v ,,Root.cz » Programovací jazyky",
jen tento jeden je v ,,Root.cz » Kompilery a procesory". Jinak bych s tím zařazením problém jemněl.