16
Vývoj / Re:Naučení se asynchronnímu programování
« kdy: 08. 10. 2019, 10:51:26 »Po tisicateprve, ti lidi co to takhle ten synchronni design v historii pocitacu vymysleli, nebyli debilove nebo idioti.Ano, tento problem je prinajmensom znamy uz od polovice minuleho storocia 1963 Timesharing: A Solution to Computer Bottlenecks. (zvyraznene zamerne).
Ide v podstate iba o dve veci:
- ergonomia abstrakcie, s ktorou naraba programator
- efektivita z pohladu vyuzitia procesora
Najprv stacili programy/procesy, potom prisli vlakna, potom prisli callbacky a lahke vlakna. Uz len samotne kontinuacie boli znovuvynajdene niekolko krat od 60tych rokov... Kazde riesnie ma svoje vyhody a nevyhody. Ale v podstate sa zongluje iba s ergonomiou a efektivitou.
Ci riesim dany problem callbackmi, Promismi, event loopom, co mi poskytuje moj OS (BSD, Linux, Windows), ci ma moj languge runtime userspace scheduler, ktory vytazi CPU bez context switchov a pouziva krajsiu abstrakciu v podobe kontinuacie delimitovanej alebo inej, ci za mna kompiler urobi CPS transformaciu alebo nie, problem je stale ten isty... co robit, ked CPU nema co robit, lebo caka na IO.
Zmrsene odkazy:
https://www.youtube.com/watch?v=Q07PhW5sCEk
https://homepages.inf.ed.ac.uk/wadler/papers/papers-we-love/reynolds-discoveries.pdf
