Chrome se lance plus rapidement sous Windows

Chrome se lance plus rapidement sous Windows

Merci la télémétrie

Avatar de l'auteur
Vincent Hermann

Publié dans

Logiciel

02/11/2016 2 minutes
40

Chrome se lance plus rapidement sous Windows

La version Windows de Chrome propose depuis la dernière mouture une série d’optimisations permettant d’accélérer de nombreux aspects du navigateur. Il utilise pour cela la PGO de Microsoft. Google s’en explique dans un récent billet, même si le changement est intervenu il y a plusieurs semaines.

Google parle désormais beaucoup de performances pour Chrome, ce qui est finalement un retour aux origines. Quand le navigateur venait de sortir, il n’était question que de rapidité. Mais certains utilisateurs ont fait la grimace avec le temps, notamment sur le gouffre que Chrome pouvait représenter pour la mémoire vive. Des efforts ont été annoncés en ce sens, et l’éditeur en dévoile de nouveaux, déjà actifs.

De la télémétrie pour guider les optimisations

Depuis les deux dernières versions de Chrome, le navigateur se sert de la PGO de Microsoft. Cette « Profile Guided Optimization » est une technique qui n’est pas neuve et qu'on retrouve dans Visual Studio. Elle permet de recompiler le code en tenant compte de paramètres particuliers. Ces derniers proviennent de données télémétriques qui mettent en avant les fonctions les plus utilisées.

La télémétrie est récupérée via les versions Developer de Chrome, compilées chaque nuit. La recompilation influe sur la taille du binaire en l’augmentant pour les fonctions les plus utilisées et en la compressant pour celles qui servent moins souvent. La gestion de la mémoire est affectée de la même manière, les fonctions moins utilisées étant séparées. Le but est de maintenir dans le cache d’instruction du processeur celles qui servent constamment.

Chrome s'ouvre 17 % plus rapidement

Les résultats sont « palpables » affirme Google. Le temps de lancement a ainsi été raccourci de 16,8 %, tandis que l’ouverture de la page Nouvel onglet se fait 14,8 % plus rapidement. Globalement, le chargement d’une page enregistre un petit gain de performances de 6 %.

Curieusement, même si Google en parle dans un billet publié lundi, ces changements sont déjà présents dans Chrome. Ils ont été introduits dans la version 53 pour Windows 64 bits, mais tout le monde peut en profiter depuis la version 54.

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

De la télémétrie pour guider les optimisations

Chrome s'ouvre 17 % plus rapidement

Commentaires (40)


<img data-src=" />[troll alert] Allez Firefox, tu peux faire pareil !


Intéressante cette PGO. Est-ce propre à Visual Studio ?


On va dire que je nourris le Troll mais pour utiliser FFox tout les jours sous Ubuntu, c’est lent à ça bouffe de la mémoire en pagaille…Mais bon c’est prix à payer pour réduire ma dépendance à Google. :)








edrin17 a écrit :



On va dire que je nourris le Troll mais pour utiliser FFox tout les jours sous Ubuntu, c’est lent à ça bouffe de la mémoire en pagaille…Mais bon c’est prix à payer pour réduire ma dépendance à Google. :)







Il faut peut être penser à clean ton profil firefox et virer les extensions trop gourmandes ?





La télémétrie est récupérée via les versions Developer de Chrome,

compilées chaque nuit. La recompilation influe sur la taille du binaire

en l’augmentant pour les fonctions les plus utilisées et en la

compressant pour celles qui servent moins souvent. La gestion de la

mémoire est affectée de la même manière, les fonctions moins utilisées

étant séparées. Le but est de maintenir dans le cache d’instruction du

processeur celles qui servent constamment.





ça veut dire qu’il faut le réinstaller tous les jours pour bénéficier de la recompilation nocturne ?



ça va vite devenir lourdingue ce genre de manip … <img data-src=" />


à priori pas



edit : ah bah grillé avec une réponse plus claire <img data-src=" />


pas forcément.

À moins que tes comportements d’utilisation ne changent très fréquemment, une fois que tu as une version optimisée “suffisamment” à ton goût, tu peux la garder en version définitive, je suppose. (quid des mise à jour majeures, en revanche ?)


Non, ça veut dire que les données retournées par les utilisateurs de la version dev sont utilisées pour optimiser la compilation de la version finale.



Quand tu installes la version finale, tu bénéficies de la compilation optimisée finale alors que pour les utilisateurs de la dev, la compilation est optimisée quotidiennement.








Salamandar a écrit :



<img data-src=" />[troll alert] Allez Firefox, tu peux faire pareil !





Justement, Mozilla a présenté récemment le Projet Quantum qui devrait, au cours de l’année prochaine, améliorer énormément les performances et la réactivité de Gecko. Il devrait notamment introduire certains composants issus de Servo.

&nbsp;

&nbsp;Je suis surpris qu’il n’y ai pas encore eu de news là dessus, vu que Next iNpact ne lésine d’habitude pas sur le sujet.



17% plus rapidement, ça fait combien de ms, voire ns, en valeur absolue ? Parce que dans le genre optimisation de l’inclinaison d’un poil de cul de mouche…


Non ce n’est pas propre à VS, GCC permet le même type d’optimisation via l’option -fprofile-generate.








Uther a écrit :



&nbsp;&nbsp;

&nbsp;&nbsp;Je suis surpris qu’il n’y ai pas encore eu de news là dessus, vu que Next iNpact ne lésine d’habitude pas sur le sujet.



J’avoue que j’ai lu&nbsp;ça chez un “concurrent” (silicon pour ne pas le&nbsp;citer), il y a quelques news intéressantes non traitées chez NXI.

Notamment les suivantes sur ces derniers jours que j’aurais bien aimé voir développées chez NXI:

http://www.silicon.fr/ia-capable-concevoir-propre-chiffrement-161557.html

&nbsphttp://www.silicon.fr/entrepreneurs-interet-general-hacker-etat-161509.html

Et celui là qui était également intéressant:

http://www.silicon.fr/comment-la-poste-courrier-bascule-dans-lit-as-a-service-16…









DoWnR a écrit :



17% plus rapidement, ça fait combien de ms, voire ns, en valeur absolue ? Parce que dans le genre optimisation de l’inclinaison d’un poil de cul de mouche…





C’est surtout “dans quel cas?” parce que 17% à vide c’est pas pareil que 17%&nbsp;quand tu as 50 onglets à ouvrir…&nbsp;



Si c’est juste pour éviter Google, tu peux utiliser Chromium.








marba a écrit :



Il faut peut être penser à clean ton profil firefox et virer les extensions trop gourmandes ?





que ce soit chez moi ou au boulot, Firefox sans extension ni profil (car juste pour test des pages de temps en temps), ben je trouve inadmissible le temps qu’il met à se lancer (ça se compte en secondes, pas en millisecondes…)



Ou plutôt, Iron !


Ouaip aussi. En tout cas, pour l’amélioration de Chrome, c’est pas du côté de la rapidité de démarrage qu’il y a du boulot.

Perso, j’utilise principalement FF, et même sur des SSD capables de débiter plus 1.5GB/sec, il prend entre 1 et 2 secondes à démarrer, parfois plus, là où Chrome démarre instantanément (les 2 à vide, avec google comme page d’accueil). Edge va pas mal non plus, ouverture instantanée, mais la page d’accueil met aussi un temps à s’afficher.


A part un anti-pub intégré, Iron apporte quoi à Chromium ?








zethoun a écrit :



que ce soit chez moi ou au boulot, Firefox sans extension ni profil (car juste pour test des pages de temps en temps), ben je trouve inadmissible le temps qu’il met à se lancer (ça se compte en secondes, pas en millisecondes…)





Tu as forcément un profil. Et si tu as installé Firefox il y a longtemps, il peut être bon de le réinitialiser :

https://support.mozilla.org/fr/kb/reinitialiser-firefox-restaurer-modules-parame…



Eh mais c’est sympa cette recompilation personnelle, je ne connaissais pas ce système.


idem je suis aussi aller voir sur leur site par curiosité mais j’ai pas vraiment trouvé non plus


Personnelle ?

Tu as la même compilation que tout le monde. C’est juste qu’elle est optimisé par le retour des testeurs via la télémétrie.








zethoun a écrit :













DoWnR a écrit :











Je sais pas je dois être un cas unique alors, mais à chaque fois que j’ai l’occasion de tester Chrome, je le trouve hyper lent comparé à FF.



C’est peut être mon utilisation qui donne cette impression, je ne sais pas. (Non, je ne crois pas en avoir une utilisation exceptionnelle, c’est très rare que j’ai plus de 25-30 onglets ouverts).



Utilise Firefox sous Windows, c’est rapide et pas plus gourmand qu’un autre navigateur <img data-src=" />


Un peu dans le même esprit que toi perso je m’en fout pas mal de gagner 15% sur le temps de lancement (que ce soit une appli ou un OS), quand je bosse sur le PC je passe pas mon temps à relancer mes outils en boucle (sauf plantages à répétition mais là le soucis principal c’est plus vraiment la rapidité de lancement mais plutôt les “pédicodeurs” à l’origine du bouzin)

Par contre la vitesse d’exécution des taches les plus fréquentes et la conso mémoire pour les accomplir m’intéressent nettement plus mais là curieusement les éditeurs communiquent tout de suite beaucoup moins et pour cause les gains sont tellement réduits que “ça claque” tout de suite moins (les 6% annoncés par Google, surement mesurés dans des conditions hyper optimales, pour l’ouverture d’une nouvelle page il en reste quoi dans le monde réel ?)


Ils enlèvent tout le code qui remonter quelque chose, même les mises à jour automatiques <img data-src=" />


Google chrome… <img data-src=" />


Ça fait 17% d’économie d’énergie au démarrage. Et mis bout à bout, ces optim finissent par être un gain visible par l’utilisateur.








picatrix a écrit :



ça veut dire qu’il faut le réinstaller tous les jours pour bénéficier de la recompilation nocturne ?

ça va vite devenir lourdingue ce genre de manip … <img data-src=" />









WereWindle a écrit :



pas forcément.

À moins que tes comportements d’utilisation ne changent très fréquemment, une fois que tu as une version optimisée “suffisamment” à ton goût, tu peux la garder en version définitive, je suppose. (quid des mise à jour majeures, en revanche ?)











KaspOu a écrit :



Eh mais c’est sympa cette recompilation personnelle, je ne connaissais pas ce système.







Visiblement l’article n’est pas assez clair.

Jamais il n’y a eu de “compilation personnelle”.



La technique employée ici repose simplement sur l’analyse, à très grande échelle, de l’exécution du programme pour mettre en évidence les fonctions les plus employées en pratique. On est sur une approche empirique statistique.

En d’autres termes, ils savent que “telle fonction est utilisée plus souvent que les autres”, mais pas précisément par qui et pourquoi aussi souvent.



Une fois le “profil grosso-modo” de Chrome rassemblé, on l’utilise pour compiler le logiciel en privilégiant certaines parties pour gagner en performance, en limitant l’impact sur d’autres optimisations qui ont des rôles différents.

Globalement, en programmation informatique on cherche à limiter 1) l’espace, la mémoire et 2) le temps, les calculs.

Généralement, gagner sur l’un signifie empiéter sur l’autre.



Pour moi ils ont tous le même problème: 50 onglets: 4Go de RAM.

Ou pire:&nbsp;20 onglets Facebook = 4Go de RAM…

&nbsp;


Hum je veux pas dire mais firefox dispose du flag pgo pour ceux qui utilise une version compilé à la main.



Pgo existe sous gcc :&nbsp; https://packages.gentoo.org/packages/www-client/firefox  



Ok pas vu que Neurones67&nbsp; en parlais déjà. Ce flag est la depuis pas mal de temps.








t0FF a écrit :



Si c’est juste pour éviter Google, tu peux utiliser Chromium.





Je déconseille tellement tout le monde s’en branle, hors GNU/Linux. Je me suis trainé pendant longtemps, malgré plusieurs màj, des soucis de vidéo sur Twitter, Vine, etc. J’en ai au marre et depuis je suis retourné (10 ans après) sur Firefox… (qui déconne uniquement sur Sofoot sans que je sache pourquoi)



oui j’ai vu ça après coup <img data-src=" />


Active Skia et e10s


Merci (ainsi qu’aux autres qui ont répondu). J’ai plus qu’à chercher si on peut faire pareil sur Android Studio <img data-src=" />


On ne réduit pas la dépendance à Google en activant Skia. Skia est développée par Google.








edrin17 a écrit :



On va dire que je nourris le Troll mais pour utiliser FFox tout les jours sous Ubuntu, c’est lent à ça bouffe de la mémoire en pagaille…Mais bon c’est prix à payer pour réduire ma dépendance à Google. :)





On ne réduit pas la consommation mémoire en activant e10s non plus.