Developpez.com

Le Club des Développeurs et IT Pro

Google optimise V8

Le moteur JavaScript de son navigateur devient plus rapide de 25% avec Chrome 19

Le 2012-05-04 15:26:54, par Hinault Romaric, Responsable .NET
Dans Chrome 19, la prochaine version du navigateur de Google, la société s’est concentrée sur l’optimisation du moteur V8.

La nouvelle mouture du moteur d’exécution JavaScript de Chrome utilise un nouvel algorithme permettant à V8 de décider quelles fonctions JavaScript doivent être optimisées pour accélérer le temps de chargement d’une page.

Traditionnellement, V8 s’arrêtait chaque milliseconde pour analyser les fonctions en cours d’exécution avant de décider celles qui devaient être optimisées. « Une seule milliseconde peut-être une longue période d’attente avant l’optimisation » explique Google.

Le nouvel algorithme de V8 procéderait à une meilleure analyse en utilisant des compteurs qui gardent une trace de la façon dont les fonctions JavaScript sont appelées, et les boucles sont exécutées dans un programme.

Un premier aperçu des améliorations de performances qu’apporte le nouveau moteur V8 est déjà disponible avec Chrome 19 qui a fait son entrée dans le canal bêta.

Un comparatif avec le test SunSpider effectué par Google permet de constater une exécution du JavaScript avec Chrome 19 plus rapide de 25% par rapport à Chrome 18.



Télécharger Chrome 19 bêta

Source : Google
  Discussion forum
9 commentaires
  • alex_vino
    Membre émérite
    Bonne nouvelle, en espérant que ces 25% soient pour l'ensemble du JavaScript comme l'article semble le dire, et non juste quelques fonctions.

    Par ailleurs j'espere que cela n'impactera pas la consommation en ressources de Chrome, car la navigateur n'est pas le seul logiciel sur une machine.
  • Fildz
    Membre actif
    Bonne nouvelle pour node.js
  • alex_vino
    Membre émérite
    Envoyé par guillaume07
    il faut peut être que tu penses à renouveler ton matériel
    Justement niveau matériel je pense que je suis loin devant toi
    C'est juste que j'ai remarqué que Chrome a du mal a résister a la monté en charge, et non la machine.

    Code :
    Bonne nouvelle pour node.js
    Oui c'est vrai, mais pas seulement node.js mais plutot tous les sites web car le javascript est de plus en plus utilisé
  • Franck Dernoncourt
    Membre émérite
    Envoyé par alex_vino
    C'est juste que j'ai remarqué que Chrome a du mal a résister a la monté en charge, et non la machine.
    On est d'accord, perso je dois assez fréquemment "rebooter" Chrome, sinon il a tendance à se mettre à lagguer & bouffer pas mal de RAM (j'ai 16 Go de RAM donc je ne pense pas être trop mal logé...)
  • Franck Dernoncourt
    Membre émérite
    Envoyé par CAML
    Sans vouloir attaquer qui que ce soit, faut savoir aussi ce que vous voulez ! Quand on ouvre 9871651687 onglets avec 23465454 plugins on assume. Les pages web sont de plus en plus lourde (contenu, plugin/flash, image, gif, etc....).
    Ce qui me dérange est que la fermeture d'onglet ne suffit pas toujours pour libérer toutes les ressources (d'où le besoin de relancer Chrome). À nuancer par le faite que 1) ce sont parfois les plugins qui sont responsables de cela 2) je n'ai pas vraiment constaté d'accentuation du problème au fil des versions. Chrome est actuellement mon navigateur favori, donc je ne lui en tiens pas rigueur pour cela
  • alex_vino
    Membre émérite
    Envoyé par CAML
    Sans vouloir attaquer qui que ce soit, faut savoir aussi ce que vous voulez ! Quand on ouvre 9871651687 onglets avec 23465454 plugins on assume. Les pages web sont de plus en plus lourde (contenu, plugin/flash, image, gif, etc....).
    Je suis du meme avis que @Frank.

    Concernant le nombre d'onglets ouverts je n'ai qu'une réponse a te donner: Vie a notre époque. Que ce soit a la maison ou au bureau je me dois d'avoir une multitude d'onglets ouverts (et meme navigateurs). Mais de toute facon meme avec quelques onglets d'ouverts on note une chute de la perforamce de Chrome de facon non-négligeable.
  • Il me semble nécessaire de lire l'article original donné en lien sous la news
    http://blog.chromium.org/2012/05/bet...sions-for.html
    Il est expliqué que le compilateur-optimiseur est beaucoup plus lent que le compilo normal d'où l'astuce qui essaye de limiter son usage en parsant la page.

    Pour ne pas pénaliser le temps de chargement (et de compilation donc) on essaye de "deviner" le code js vraiment récurrent. C'est un genre de profiler à la volée.
    Il devrait donc être possible de persuader chrome que f() tourne plus souvent que z() avec une syntaxe ou une astuce préemptive sur le profiler.. M'enfin pour ce que j'en sais... Je n'ai pas le courage de tester la beta , je regarderai ça quand la v19 sera en release
  • CAML
    Membre averti
    Sans vouloir attaquer qui que ce soit, faut savoir aussi ce que vous voulez ! Quand on ouvre 9871651687 onglets avec 23465454 plugins on assume. Les pages web sont de plus en plus lourde (contenu, plugin/flash, image, gif, etc....).
  • guillaume07
    Débutant
    Envoyé par alex_vino


    Par ailleurs j'espere que cela n'impactera pas la consommation en ressources de Chrome, car la navigateur n'est pas le seul logiciel sur une machine.
    il faut peut être que tu penses à renouveler ton matériel