Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > Général Conception Web > Performance Web
Performance Web Forum d'entraide sur les performances des applications/sites Web.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 09/07/2012, 12h08   #1
JerryOne3
Membre du Club
 
Inscription : novembre 2008
Messages : 100
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 100
Points : 43
Points : 43
Par défaut Javascript - de l'intérêt de la compression

Bonjour !

développeur web participant actuellement à la création d'un nouveau site, je viens vers vous avec une interrogation.

Nous avons un fichier js / jQuery de 7000 et quelques lignes. Pour la mise en production, nous l'avons compressé en une unique ligne comme c'est, semblerait-il, l'usage.

Seulement voilà, certains marqueurs nous permettent de constater que le gain de performance est tout simplement inexistant. On ne gagne absolument rien à l'exécution.

J'aimerais alors savoir quel est l'intérêt de la compression, et si celle-ci nécessite un travail préalable pour être efficace.

Merci par avance !
JerryOne3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2012, 14h33   #2
sekaijin
Expert Confirmé Sénior
 
Avatar de sekaijin
 
Homme
Urbaniste
Inscription : juillet 2004
Messages : 2 117
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 49
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 2 117
Points : 5 038
Points : 5 038
Je ne sais pas comment tu as mesuré ta perf.

mais la compression n'a d'intérêt que sur la partie réseau.
le temps de compilation et d'exécution du code reste inchangé (voir se dégrade très très légèrement).

si tu as donc un gros js de 30 000 lignes le minify vas réduire sa taille et donc le temps de transport. et c'est le seul avantage que tu vas en tirer.

si tu travaille proprement tus à grandement documenté ton code. chez moi c'est + 150% à + 200% bref mes 30 000 lignes passe à quelque chose entre 75 000 à 90 000 lignes.

le minify d'un tel fichier ne porte que sur l’exécutable donc seulement sur les 30 000 lignes.

donc si j'ai bien travaillé mon source fait environ 80 000 lignes dont 30 000 sont effectivement à compiler et le minify donne un poid équivalent à un source de 11 000 lignes environ.

si on parle en nb de caractères on peut estimer que le source pèse 12 Mo. le code réellement exécutable 4,5 Mo et la version compressé 1,6 Mo
l'incidence sur les perfs (réseau) est donc non négligeable.

mais il y a un autre point à prendre en compte.
le code source est souvent fait d'une multitude de petits fichiers (439 dans mon projet)
charger tout ses fichier implique beaucoup d'échanges avec le serveur le temps cumulé de 439 requête n'est pas négligeable du tout.
un exemple sur google une icone dans le résultat d'une recherche à donné connecting:64ms, ssl: 36ms, sending: 1ms, waiting: 1,06s, receiving: 1ms
ce n'est qu'une image dans la page. les phases de connexion ssl ne sont pas systématique mais au sein d'un même échange (chargement d'une page) il peut y en avoir plusieurs
les phases send wait receive sont elle obligatoire. et on constate que ce sont les plus lourdes.
le simple fait de passer par un seul fichier js vas permettre de n'avoir qu'un send/wait/receive.
le send est toujour le même (on envoi l'url demandé)
le wait dépend du réseau et du serveur
le receive dépend du réseau (de la taille du fichier)

A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 09/07/2012, 15h10   #3
JerryOne3
Membre du Club
 
Inscription : novembre 2008
Messages : 100
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 100
Points : 43
Points : 43
On peut dire que tu as parfaitement clarifié la chose dans mon esprit, je te remercie !
JerryOne3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h59.


 
 
 
 
Partenaires

Hébergement Web