Creatore di benchmark
Strumento gratuito e online per confrontare la velocità di esecuzione del codice JavaScript, senza bisogno di installazione.
Informazioni su Benchmark Builder
Uno strumento di micro-benchmark JavaScript a confronto diretto: incolla due corpi di funzione (Snippet A e Snippet B), imposta un numero di iterazioni e lo strumento esegue ciascuno con 100 chiamate di riscaldamento seguite dal numero configurato di chiamate misurate, quindi riporta il tempo totale, le operazioni al secondo e quale snippet è stato più veloce e di quale rapporto.
Come usarlo
1. Imposta Iterazioni (predefinito 10000) nella scheda in alto. 2. Nella scheda Snippet A, digita un'etichetta opzionale (predefinita "A") e il corpo della funzione da sottoporre a benchmark (es. `return Math.random()`). 3. Fai lo stesso per lo Snippet B (es. `return crypto.getRandomValues(new Uint32Array(1))[0]`). 4. Fai clic su Esegui — il pulsante è disattivato finché entrambi i corpi degli snippet non sono non vuoti. 5. Leggi la scheda Risultato: ogni snippet mostra il tempo totale in millisecondi e le operazioni al secondo, più una riga a piè di pagina che nomina lo snippet più veloce e il rapporto di velocità. Se uno snippet genera un'eccezione, il suo errore viene mostrato in rosso.
Modello di esecuzione e metriche
Ogni snippet è avvolto con `new Function(code)` e richiamato come funzione senza argomenti, quindi deve essere un corpo di funzione valido (usa `return ...` per lavorare; sono ammesse istruzioni di primo livello). - Riscaldamento: 100 chiamate incondizionate prima della misurazione, per consentire al motore JS di ottimizzare. - Misurazione: `performance.now()` viene campionato prima e dopo l'esecuzione dello snippet `iterations` volte in un ciclo stretto. - Operazioni al secondo: calcolate come `iterations / (timeMs / 1000)`, arrotondate. - Rapporto: `max(timeA, timeB) / min(timeA, timeB)`, mostrato con 2 cifre decimali; lo snippet con il tempo minore viene segnalato come più veloce. Nota che si tratta di un micro-benchmark nel browser svolto al meglio, non di una suite statisticamente rigorosa: i risultati variano con il carico della macchina, il motore del browser, le pause del GC e l'eliminazione di codice morto.
▶Perché i risultati cambiano ogni volta che faccio clic su Esegui?
▶Gli snippet possono accedere a variabili, import o async/await?
▶Cosa succede se uno snippet genera un'eccezione?
▶I miei dati vengono inviati a un server?
Se questo strumento è stato di aiuto per te, considera l’idea di regalarmi un caffè.
Comprami un caffè.