Le microprocesseur, ce monstre de puissance qui passe son temps à attendre

Et si vous étiez un microprocesseur surpuissant, comme nous en avons tous dans nos PC ? Qu’est-ce que cela donnerait d’essayer d’accéder à une information ? Imaginez ne pas tourner à 4 GHz, mais à 4 Hz, et prenons l’exemple d’un humain capable de taper 4 touches par seconde sur son clavier. À ce rythme, quel temps est pris selon où se trouve l’information : Dans le cache L1 : le post-it sur le bureau, nous avons besoin d’une seconde Dans le cache L2 : la feuille de papier à côté du clavier, environ 5 secondes Dans le cache L3 : le grand poster affiché au mur, environ 20 secondes Dans un autre cœur de calcul : un autre collègue, environ 2 minutes Dans la mémoire RAM : environ 2 minutes Dans un disque dur SSD SATA, le coursier rapide : environ une journée (vous auriez pu recopier Alice au Pays des Merveilles) Dans un disque dur normal, ou par internet : environ 2 mois (vous auriez pu recopier deux fois l’intégrale du Trône de Fer) Dans l’utilisateur du PC (par exemple : « Cliquez OK pour confirmer ») : environ 30 ans Pour lire l’article complet, c’est par ici : https://linuxfr.

par Vincent Poulailleau


Python Bytes

Connaissez-vous https://pythonbytes.fm/ ? C’est un podcast génial, américain, hebdomadaire, d’une quinzaine de minutes. Le thème est l’actualité autour de Python, c’est un excellent moyen de se tenir au courant. Pour ceux qui ont des difficultés à écouter de l’américain, ils fournissent des prises de notes par épisodes, par exemple pour l’épisode 101 : https://pythonbytes.fm/episodes/show/101/nobel-prize-awarded-to-a-python-convert. En bref, à consommer sans modération.

par Vincent Poulailleau


Des expressions régulières lisibles !

J’entends souvent que les expressions régulières ne sont pas lisibles, et c’est effectivement un de leurs gros défauts. Certains disent même qu’elles sont du code qu’on écrit une fois et qu’on ne touche plus ensuite. Mais elles sont tellement puissantes qu’il est difficile de passer à côté. Pour ceux qui veulent des expressions régulières lisibles, en Python, il existe cursive_re (https://github.com/Bogdanp/cursive_re), un générateur d’expressions régulières, que l’on peut combiner ensuite avec le module re de Python.

par Vincent Poulailleau


AST pour Python

Si vous voulez récupérer un Abstract Syntax Tree d’un programme Python, vous avez le module ast de Python : https://docs.python.org/3/library/ast.html https://greentreesnakes.readthedocs.io/en/latest/ Mais si vous voulez toutes les informations du code (les commentaires par exemple), il faut d’autres outils plus complets, comme RedBaron : https://redbaron.readthedocs.io/en/latest/. De là à faire des modifications en automatique de votre code Python, il n’y a qu’un pas.

par Vincent Poulailleau


Les métaclasses de Python

Pour se rappeler de comment fonctionnent les métaclasses de Python, voici un bon article : https://realpython.com/python-metaclasses/. Attention toutefois, ils citent Tim Peters l’auteur de la PEP 20 (Zen of Python), la philosophie de Python : Metaclasses are deeper magic than 99% of users should ever worry about. If you wonder whether you need them, you don’t (the people who actually need them know with certainty that they need them, and don’t need an explanation about why).

par Vincent Poulailleau