Le mécanisme
Quatre coûts sur tout le tampon, chacun trouvé en mesurant.
Aucun ne tenait à la taille du fichier. Chacun venait de l’éditeur qui faisait quelque chose à tout le texte quand un écran aurait suffi, et chacun a désormais sa règle dans le code, pour que la prochaine modification ne le ramène pas en silence.
01La mise en page suit ce qui est à l’écran
Le texte est mis en page de façon non contiguë : ce qui est visible, le curseur et une cible de défilement le sont réellement, tout le reste est estimé. Avant, chaque frappe et chaque rafraîchissement demandaient d’abord la mise en page du document entier — et avec le retour à la ligne, une ligne de cent kilo-octets fait des centaines de rangées.
02Taper ne relit pas le fichier
La table des débuts de ligne est mise à jour sur place à partir de la modification elle-même — les caractères changés, puis un décalage de tout ce qui suit — au lieu d’être jetée puis reconstruite depuis le premier octet à la frappe suivante.
03Ouvrir un second fichier laisse le premier tranquille
Tout changement de préférence réappliquait la police et les couleurs à chaque tampon ouvert, dans chaque fenêtre, et un fichier ajouté aux Fichiers récents en est un. Seul un changement de police, de largeur de tabulation ou de thème le fait désormais : 982 ms sont devenues 58 ms avec ce fichier ouvert.
04Recolorer est linéaire
Effacer les anciennes couleurs d’une zone se faisait jeton par jeton, chaque étape décalant tout le reste de la liste. C’est maintenant un seul remplacement, ce qui a fait passer un fichier source de 250 Ko de presque une seconde par frappe à environ un dixième.
05La couleur là où vous regardez
Les fichiers jusqu’à 256 Ko sont colorés en entier. Au-delà, l’éditeur peint les lignes visibles et 200 de plus, et garde l’état dans lequel commence chaque ligne : un commentaire de bloc ouvert dix mille lignes plus haut se colore encore correctement quand vous sautez au milieu.
06Les modifications non enregistrées sont sauvegardées comme des modifications
Au-delà de 64 Ko, la sauvegarde de secours ajoute ce que vous avez tapé à un journal au lieu de recopier tout le tampon après chaque rafale — jusqu’à ce que le journal atteigne la moitié du fichier, où une copie neuve coûte moins cher.