Python: Porovnání verzí
Smazaný obsah Přidaný obsah
→Různé implementace Pythonu: Přepracována kapitola o alternativních implementacích pythonu. značky: editace z mobilu editace z mobilního webu |
→Výkon: Optimalizace informací v souvislosti s úpravou kapitoly o alternativních implementacích Pythonu. značky: editace z mobilu editace z mobilního webu |
||
Řádek 111:
V minulosti se pro zvýšení výkonu používala snadno použitelná knihovna [[Psyco]], která [[transparentnost (informatika)|transparentně]] [[Optimalizace (informatika)|optimalizovala]] kód Pythonu na výkon (JIT). Některé operace byly pomocí Psyco urychleny až řádově<ref name="gp4psyco">http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=python&lang2=psyco</ref>. Dnes je tato knihovna neudržovaná (cca od roku 2010) a použitelná jen pro 32 bitové prostředí a podporuje Python jen do verze 2.6.
V současné době tuto knihovnu nahradily projekty jako PyPy, Cython a další
Nejúčinnější způsob dosažení výkonu v Pythonu je použití Cythonu s optimalizací kódu na výkon. Následující příklad ukazuje neoptimalizovanou a maximálně optimalizovanou funkci. Tedy změny, které je nutno učinit pro získání maximálního výkonu pro transkompiler Cython.
<syntaxhighlight lang="python3">
def add_two_numbers(x, y):
print(x)
Řádek 130 ⟶ 132:
print(z)
</syntaxhighlight>
Účinnost těchto optimalizací je velmi vysoká. Takto optimalizovaný program dosahuje téměř výkonu aplikace napsané přímo v jazyce C. Viz benchmark, který porovnává výkon programu při výpočtu velké Mandelbrotovy množiny.
{| class="wikitable"
|+Benchmark výkonu funkce pro výpočet Mandelbrotovy množiny v sec.
|