Repolode
tinylibs

tinylibs/tinybench

Uma biblioteca JavaScript de benchmarking simples, pequena e sem dependências, compatível com vários runtimes JavaScript.

Estrelas
2,385
Forks
60
Issues abertas
14
Último commit
há 5 horas

O que é?

Tinybench é uma biblioteca pequena para medir o desempenho de funções JavaScript. Você cria uma instância de Bench, adiciona tarefas com nomes e as executa para coletar estatísticas de latência e throughput, como média, mediana, desvio padrão, margem de erro e percentis. Ela é construída sobre Web APIs e usa process.hrtime ou performance.now para cronometrar, por isso funciona em vários runtimes JavaScript.

As tarefas podem ser síncronas ou assíncronas, e funções assíncronas são detectadas automaticamente. É possível habilitar concorrência por tarefa ou entre tarefas, e a biblioteca emite eventos compatíveis com Event, como cycle e warning. As opções incluem a seleção do timer, a correção opcional do overhead do timer, a retenção de amostras e o cancelamento baseado em AbortSignal. Os resultados são disponibilizados como dados, em vez de serem registrados no log, e bench.table() gera uma saída para console.table().

O pacote não tem dependências e é distribuído pelo npm.

Recursos principais

  • 01Análise estatística de latência e throughput, incluindo percentis e margem de erro.
  • 02Suporte a tarefas síncronas e assíncronas, com detecção automática de funções assíncronas.
  • 03Modos de concorrência para executar em paralelo as iterações de uma tarefa ou várias tarefas.
  • 04Eventos compatíveis com EventTarget para cycle e avisos de saturação do timer.
  • 05Provedores de timestamp selecionáveis e correção opcional do overhead do timer.
  • 06Suporte a AbortSignal tanto no nível do bench quanto no da tarefa.

Casos de uso

  • Comparar o desempenho de implementações JavaScript alternativas da mesma função.
  • Medir operações assíncronas, como caminhos de código limitados por I/O.
  • Incorporar benchmarks a uma suíte de testes ou a um job de CI que inspecione os resultados programaticamente.
  • Executar microbenchmarks em Node.js, Bun ou outros runtimes JavaScript.

Início rápido

  1. 1

    Instale tinybench como dependência de desenvolvimento com npm

    npm install -D tinybench
  2. 2

    Importe Bench, adicione tarefas e chame run() no seu arquivo JavaScript ou TypeScript

Antes de usar

  • Para trabalhos próximos da resolução do temporizador, o README recomenda overriddenDuration, pois a sobrecarga do temporizador pode distorcer os resultados.
  • As tarefas não são registradas por padrão, então você precisa extrair e imprimir os resultados por conta própria.

Em coleções

Tópicos

Perguntas frequentes

O que é tinybench?
Uma biblioteca JavaScript de benchmarking simples, pequena e sem dependências, compatível com vários runtimes JavaScript. Tinybench é uma biblioteca pequena para medir o desempenho de funções JavaScript. Você cria uma instância de Bench, adiciona tarefas com nomes e as executa para coletar estatísticas de latência e throughput, como média, mediana, desvio padrão, margem de erro e percentis. Ela é construída sobre Web APIs e usa process.hrtime ou performance.now para cronometrar, por isso funciona em vários runtimes JavaScript.
tinybench é gratuito? Qual é a licença?
tinybench é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
tinybench ainda é mantido?
Manutenção ativa. O último commit de tinybench foi em 22 de out. de 2026.
Para que posso usar tinybench?
Comparar o desempenho de implementações JavaScript alternativas da mesma função. Medir operações assíncronas, como caminhos de código limitados por I/O. Incorporar benchmarks a uma suíte de testes ou a um job de CI que inspecione os resultados programaticamente. Executar microbenchmarks em Node.js, Bun ou outros runtimes JavaScript.
Como instalar tinybench?
Instale tinybench como dependência de desenvolvimento com npm: npm install -D tinybench Importe Bench, adicione tarefas e chame run() no seu arquivo JavaScript ou TypeScript
Onde consigo tinybench?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/tinylibs/tinybench

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados