Nejvíc by mě zajímalo to měření, výkon a paměťová náročnost jednotlivých způsobů a to u GIL a no GIL interpretů.
Chystám se na to, ale ještě rozmýšlím, jakou úlohu použít jako benchmark. Na jednu stranu by to mělo být něco jednoduše implementovatelného, ale zase asi aspoň trošku reálná úloha (ne bublinkové řazení :-)
No něco zkusím vymyslet, aby to aspoň trošku dávalo smysl.
Jen pro zajímavost, kdyby to pomohlo: paměť se nově dá sledovat tady: https://memory.python.org/ . Ale zatím jsou tam spíš nejnovější commity.
To je fajn, že se ta komunikace řeši podobně jako u vláken a procesů. Ale ono je to někde na půli cesty mezi více vlákny a více procesy - kdy se tedy spouštění v samostatných interpretrech vyplatí? Předpokládám, že asi paměťově to vyjde "levněji" než více procesů, protože ty interpretry můžou něco sdílet. Ale v Linuxu i procesy sdílí sdílené (sic) knihovny ne, takže 100x spuštěný Python nezabere 100x paměti jako jeden Python?
dtto jako výše. Vymýšlím nějaký +- užitečný benchmark na otestování, kolik která implementace vezme CPU a RAM.
Zdieľané dáta ale vyžadujú zamýšľať sa nad opatreniami, ktoré zabránia súbehu. Tak je otázka, čo sa kedy viac vyplatí.
on to bude spíš sdílený kód a tam souběh vůbec nevadí, ne? (tedy myslím multiprocesing a ty nové interpretry)
To bola iba poznámka o všeobecných nebezpečenstvách. Ako to majú implementované som neskúmal, takže neviem, či tam majú nejaké zdieľané dáta alebo nie.