J'adore optimiser les performances de manière très ciblée. Ces derniers jours, j'ai travaillé sur la façon dont le thread de rendu de Ghostty lit les données du terminal (ce qui nécessite un verrou bloquant les E/S). J'ai déjà réduit le temps de verrouillage de 2,4 fois. C'est encore trop tôt pour une pull request, mais on n'est pas loin ! Cela aura un impact direct sur le débit du texte du terminal et des séquences d'échappement car sous une charge importante (par exemple `cat massive-file.txt`), le blocage du moteur de rendu apparaît de manière assez significative dans le profilage, occupant plus de 10 % du temps total malgré le fait que notre zone critique dans les versions actuellement publiées ne soit que d'environ 20 à 40 microsecondes par ~8 ms (8000 microsecondes, une fréquence d'images de 120 Hz). C'est... assez dingue quand on y pense. Les ordinateurs sont vraiment rapides.
La version précédente de cette interface était optimisée au maximum. J'y ai consacré deux jours pour l'améliorer, et je n'ai obtenu qu'une amélioration de 5 %. Pour atteindre 240 %, j'ai dû la réécrire entièrement en adoptant une approche différente. Les grandes idées ont leurs limites. Parfois, il faut une nouvelle idée de génie.
