Cet article termine la trilogie commencée dans le numéro précédent. Gandalf avait trop bu d'hydromel et... ah non, ce n'est pas la bonne histoire. Donc nous avons allégé la charge d'un serveur web en concaténant tous les fichiers d'une application, dont la CSS et les scripts ont été dépouillés de leurs commentaires, espaces et retours à la ligne. Une grande partie du gain de place vient du parseur, qui a été écrit en JavaScript, mais sa puissance a été à peine exploitée... Nous allons maintenant remédier à cela et nous en servir pour substituer astucieusement et automatiquement les noms des variables. L'algorithme de base est simple et assez efficace, mais il demande pas mal de préparations.
1. Rappels
Dans l'épisode précédent, le petit site web statique [1] (qu'on peut aussi qualifier d'application en ligne) a subi une cure impressionnante. Alors que la version de développement charge 55 fichiers pour chaque nouveau visiteur, il n'en reste plus que 3 après concaténation des scripts et même insertion des petites images directement au format base64. La suppression de quasiment tous les espaces, de tous les commentaires et de certains points-virgules a presque divisé par deux la quantité de données envoyées par le serveur. Et le plus important, c'est le gain de temps : le chargement est dix fois plus court !
C'est déjà un gain énorme pour un effort raisonnable, et notre parseur est semblable à JSMIN [2], donc les résultats sont semblables aussi. Or on sait qu'on peut faire mieux car le packer [3] de Dean Edwards (un compacteur plus sophistiqué) arrive encore à enlever un tiers (ratio de 66064/99388=0.665) du fichier déjà compacté par notre...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première