• # Comparatifs benchmarks quotidiens

    Posté par (site web personnel, Mastodon) . En réponse au journal Comparons les performances Javascript de Firefox et Chrome. Évalué à 5.

    Pour ceux que ça intéresse, l'équipe de dev javascript de Mozilla a mis en place ce site : http://arewefastyet.com/ , qu'ils mettent à jour tout les 3-4 jours.

    On voit nettement les améliorations par rapport aux autres moteurs JS, surtout ces derniers jours.

    Les tests sont effectués avec les versions "standalone" des moteurs JS (donc hors navigateur). Donc pas de risque de parasitage de performance par d'autres éléments du navigateurs (moteur graphique, thread reseaux ou autre). Ce sont des résultats de perf pures donc.

    Un peu d'explication pour ceux qui ont la flemme de lire la FAQ.

    à l'origine, il y a le moteur SpiderMonkey : c'est un simple interpreteur JS, pas d'optim.

    Il y a eu ensuite TraceMonkey = SpiderMonkey + technique d'optimistation dites "tracing", appliquée principalement sur les boucles, et qui est plus performantes que de la simple compilation JIT. Mais malheureusement, cette technique ne fonctionne pas dans tout les cas, donc il y a du code JS qui reste interprété à la volée. Les perfs de tracemonkey, c'est la courbe orange.

    Il y a eu ensuite JaegerMonkey = SpiderMonkey + technique d'optimisation dites "jit" : le code JS est "compilé". C'est la technique utilisée dans le moteur js de webkit, avec le générateur de code machine Nitro, et celle utilisée dans v8, le moteur de chrome. D'ailleurs, JaegerMonkey utilise Nitro (oui, oui, une brique d'un "concurrent", vive l'open source !). Les perfs de jaeger monkey = courbe orange.

    Et depuis quelques jours, ils ont fusionné les deux techniques (courbe violette) dans le même moteur JS. Il n'y a donc plus de code JS interprété. Utilisation du tracing quand c'est possible (car plus rapide que du simple compilé en theorie), et utilisation du JIT pour le reste du temps.

    Ils arrivent donc maintenant à rattraper les autres moteurs JS. Ils ont encore pas mal d'optimisation à faire, ce qui va arriver dans les prochains jours.

    On espère donc que la courbe violette descende en dessous des autres, et qu'il y ait enfin un "YES" à la place du "NO" :)