Constructeur de benchmark
Outil de création de benchmarks en ligne gratuit, pas de installation requise. Comparez la vitesse d'exécution du code JavaScript.
À propos de Benchmark Builder
Un outil de micro-benchmark JavaScript en confrontation directe : collez deux corps de fonction (Snippet A et Snippet B), définissez un nombre d'itérations, et l'outil exécute chacun via 100 appels d'échauffement suivis du nombre configuré d'appels mesurés, puis indique le temps total, les opérations par seconde, ainsi que le snippet le plus rapide et le rapport de vitesse.
Mode d'emploi
1. Définissez Itérations (par défaut 10000) dans la carte du haut. 2. Dans la carte Snippet A, saisissez une étiquette facultative (par défaut "A") et le corps de fonction à évaluer (par ex. `return Math.random()`). 3. Faites de même pour Snippet B (par ex. `return crypto.getRandomValues(new Uint32Array(1))[0]`). 4. Cliquez sur Exécuter — le bouton est désactivé tant que les deux corps de snippet ne sont pas renseignés. 5. Lisez la carte de résultat : chaque snippet affiche le temps total en millisecondes et les opérations/seconde, plus une ligne de pied nommant le snippet le plus rapide et le rapport de vitesse. Si un snippet lève une exception, son erreur s'affiche en rouge.
Modèle d'exécution et métriques
Chaque snippet est enveloppé avec `new Function(code)` et invoqué comme une fonction sans argument, il doit donc s'agir d'un corps de fonction valide (utilisez `return ...` pour travailler ; les instructions de premier niveau sont autorisées). - Échauffement : 100 appels inconditionnels avant la mesure, pour permettre au moteur JS d'optimiser. - Mesure : `performance.now()` est échantillonné avant et après l'exécution du snippet `iterations` fois dans une boucle serrée. - Opérations par seconde : calculées comme `iterations / (timeMs / 1000)`, arrondies. - Rapport : `max(timeA, timeB) / min(timeA, timeB)`, affiché avec 2 décimales ; le snippet au temps le plus court est signalé comme plus rapide. Notez qu'il s'agit d'un micro-benchmark au mieux dans le navigateur, pas d'une suite statistiquement rigoureuse : les résultats varient selon la charge de la machine, le moteur du navigateur, les pauses du GC et l'élimination de code mort.
▶Pourquoi mes résultats sont-ils différents à chaque clic sur Exécuter ?
▶Les snippets peuvent-ils accéder aux variables, imports ou async/await ?
▶Que se passe-t-il si un snippet lève une exception ?
▶Mes données sont-elles envoyées à un serveur ?
Si cet outil vous a été utile, pensez à m’offrir un café.
Achetez-moi un café.