Science & Technology
← Home
Python bez GIL: Proč víc rychlosti žere víc energie

Python bez GIL: Proč víc rychlosti žere víc energie

2026-03-22T03:13:17.759881+00:00

Python bez GIL: Kdy rychlost žere víc energie

Ahoj! Dneska se ponořím do tématu, které v pythonovské komunitě právě vře. A není to jen o zrychlení – tady se dočkáte překvapení.

GIL: Ten neslavný brzdící ventil

Když píšeš v Pythonu, jistě jsi slyšel o Global Interpreter Lock, zkratka GIL. Představ si ho jako domovního strážce, co dovolí pracovat jen na jednom jádru procesoru. I když máš hromadu vláken, která chtějí makat současně, GIL říká: "Ne, jen jedno najednou."

Moderní počítače mají jádra v řadě, ale Python je nechává v klidu. Frustrace na dlouhých letech.

Přichází verze bez GIL

Od Pythonu 3.13 existuje experimentální varianta, kde GIL vypneš úplně. Vlákna se rozběhnou volně, jako děti na hřišti bez dozoru.

Perfektní nápad? Počkejte.

Neočekávaný zvrat: Spotřeba energie

Výzkum se podíval nejen na rychlost, ale i na energii. A výsledky jsou šokující.

Kdy to jede na jedničku ⚡

Pro úlohy, co běží skutečně paralelně – třeba zpracování samostatných dat – je no-GIL bomba:

  • Čas se zkrátí až 4x
  • Energii spotřebuje míň (kratší běh = méně celkem)
  • Využije všechna jádra, za která jsi zaplatil

Ideální případ. Rychleji i úsporněji.

Kdy to selže 📈

Pro běžný kód, co běží po sobě (a to je většina), je to katastrofa:

  • Spotřeba energie +13–43 %
  • Žádné zrychlení
  • Více paměti všude

To bolí.

Proč to tak je?

Bez GIL musí každý objekt mít svůj zámek. Běží extra mechanismy pro bezpečnost vláken. Používá jiný správce paměti. Jako kdyby sis najal hlídače ke každému zboží v obchodě místo jednoho u dveří.

Když tvůj kód neparalelizuje, platíš za zbytečnou práci.

Realita v praxi

Tenhle výzkum ukazuje: ne každé vylepšení je super. No-GIL není kouzelná pilulka. Funguje jen tam, kde má smysl, jinak plýtvá.

A v datových centrech, co žerou 1–1,3 % světové elektřiny? Špatný výběr by znamenal obrovské marnění.

Co s tím?

Před skokem na no-GIL se zeptej:

  • Běží můj kód paralelně?
  • Mám data, co lze zpracovávat najednou?
  • Nebo jen klasické sekvenční skripty?

První skupina: Jdeme na to. Druhá: Zůstaň u standardu.

Širší pohled

Proto miluju tech. Vždycky tu jsou skryté kompromisy. Python to udělal volitelně – chytrý tah.

A pamatujte: nestačí "běží rychleji". Energie je klíčová v našem digitálním světě.

Co vy? Zkousíte no-GIL, nebo vás to odradilo? Sdílejte zkušenosti!

Zdroj: https://arxiv.org/pdf/2603.04782

#python #gil #performance #energy-efficiency #multithreading