Ferramenta de linha de comando para comparar o desempenho de comandos, com análise estatística, execuções de aquecimento e exportação para CSV, JSON, Markdown e AsciiDoc.
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
Instale tinybench como dependência de desenvolvimento com npm
npm install -D tinybench - 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
CLI de teste de carga HTTP(S) escrito em Go, com visualização em tempo real no terminal e gráficos na web, usando fasthttp para as requisições.
Framework personalizável para avaliar LLMs, VLMs e modelos de AIGC em benchmarks, testar o desempenho de inferência sob carga e visualizar resultados em dashboards.
Profiler de memória para Python que rastreia alocações no código Python, em extensões nativas e no interpretador, com vários tipos de relatório.
Ferramenta de performance para React que detecta e destaca automaticamente componentes que renderizam novamente sem necessidade, sem exigir alterações no código.
Biblioteca de machine learning em Python baseada em SciPy e NumPy, com ferramentas de classificação, regressão, clustering e seleção de modelos, sob licença BSD.