Skip to content

Notes 2020-S1

Cf. surtout: https://www.notion.so/Cython-280a5df9eb57433292a57d6809214578

Call JPS le 6 avril 2020

Ils ont essayé plein de librairies (5 ou 6). Aucune n’est vraiment aussi rapide que (?).

lwan:
- ca va vite
- ce qui est lent c’est l’allocation mémoire initiale (faite avec malloc)
- malgré ca ça reste mieux (donc c’est pas prioritaire)

Ensuite on fait tout pour s’abstraire de la bibliothèques.

Dans les schedulers il ya plusieurs facon d’allouer les tâches. Le mieux c’est le “work-stealing”. Cf. examen de master de Julius.

Le work-stealing tient la charge quand on a plus que 8 coeurs. Les schedulers classiques ont tendance à s’effondrer au-dessus de 8 coeurs.

Go a un scheduler par work-stealing, c’est pour ca que ca marche bien quand il y beaucoup de coeurs.

On veut du http2 et du http3 de nos jours. 2 possibilités:
- Tout réimplémenter (en Python) = boulot infernal (2 ans)
- NB: http2 permet d’envoyer des contenus de manière prédictive + garder des sessions ouvertes.

Pour implémenter du webrtc, il n’y a que deux libs existantes (celle de facebook + celle des japonais = dna ou qq chose comme ca).

Call JPS le 26 Mai 2020

Le projet est financé !

Q: Que faire d’un dictonnaire dans Cython+ ?

Discussion sur le typage des dictionnaires.

=> Il faut expérimenter.

1 mois pour comprendre comment fonctionne le compilo Cython.

Resources

Web servers

GitHub - kazuho/picoev: a tiny, lightning fast event loop for network applications
https://github.com/mopemope/meinheld.git
GitHub - python-greenlet/greenlet: Lightweight in-process concurrent programming

Go

Why Go and not Rust? | Loris Cro’s Personal Blog

Compilation

ChocoPy: A Programming Language for Compilers Courses

Back to top