Les micro-benchmarks, ou comment ne rien tester
Quand on veut comparer les performances de JavaScript dans des navigateurs web, il arrive que l'on prenne un micro-benchmark, tiré du site jsperf ou de sa propre codebase, que l'on le lance quelques fois dans deux de ses navigateurs favoris (disons Chrome et Firefox), et que l'on conclut que tel ou tel navigateur est le plus rapide pour exécuter le JavaScript. Pourtant, les machines virtuelles JavaScript sont souvent plus intelligentes que nous qui écrivons du code, et l'on peut se retrouver finalement à ne pas mesurer ce que l'on voulait tester initialement, voire dans le pire des cas, à ne rien tester du tout. Cette talk explique quelques mécanismes présents dans le moteur d'exécution JavaScript de Firefox, SpiderMonkey. Puis, sur un exemple concret, nous verrons comment arranger un micro-benchmark pour qu'il teste effectivement ce que l'on souhaite tester.
Slides
Commentaires