Início Rápido


O que é o Bencher?

Bencher é um conjunto de ferramentas de benchmarking contínuo. Já teve algum impacto de regressão de desempenho nos seus usuários? Bencher poderia ter prevenido isso. Bencher permite que você detecte e previna regressões de desempenho antes que sejam mescladas.

  • Execute: Execute seus benchmarks localmente ou no CI usando os exatos mesmos runners bare metal e suas ferramentas de benchmarking favoritas. O CLI bencher orquestra a execução dos seus benchmarks em bare metal e armazena seus resultados.
  • Rastreie: Acompanhe os resultados de seus benchmarks ao longo do tempo. Monitore, consulte e faça gráficos dos resultados usando o console web do Bencher baseado na branch de origem, testbed e medida.
  • Capture: Capture regressões de desempenho localmente ou no CI usando o exato mesmo hardware bare metal. Bencher usa análises personalizáveis e de última geração para detectar regressões de desempenho antes que sejam mescladas.

Pelos mesmos motivos que os testes de unidade são executados para prevenir regressões de funcionalidades, benchmarks deveriam ser executados com o Bencher para prevenir regressões de desempenho. Bugs de desempenho são bugs!


Instalar o bencher CLI

Selecione seu sistema operacional e execute o comando fornecido para instalar o bencher CLI. Para mais detalhes, veja a documentação de instalação do bencher CLI.

Terminal window

Agora, vamos verificar se você tem o bencher CLI instalado. Execute:

Terminal window
bencher --version

Você deverá ver:

bencher 0.6.2

Selecione seu Benchmark Harness

Se você já tem benchmarks escritos, selecione sua linguagem de programação e o benchmark harness da lista abaixo. Caso contrário, simplesmente pule esta etapa. Para mais detalhes, veja a documentação dos adaptadores de benchmark harness.

C#
C++
Dart
Go
Java
JavaScript
Python
Ruby
Rust
Shell
JSON

Acompanhe seus Benchmarks

Agora você está pronto para acompanhar os resultados dos seus benchmarks! Para isso, você usará o subcomando CLI bencher run para executar seus benchmarks e coletar os resultados. Execute:

Terminal window

Você pode precisar modificar o comando do benchmark para corresponder à sua configuração. Se você ainda não tiver nenhum benchmark, pode simplesmente usar o subcomando bencher mock como seu comando de benchmark para gerar alguns dados simulados. Se tudo funcionar como esperado, o final da saída deverá se parecer com isto:

View report: https://bencher.dev/perf/project-abc4567-wxyz123456789/reports/709d3476-51a4-4939-9584-75d9a2c04c54
View results:
- bencher::mock_0 (Latency): https://bencher.dev/perf/project-abc4567-wxyz123456789?branches=88d5192d-5cd1-47c6-a817-056e5968737c&heads=657a8ee9-1f30-49d4-bd9b-ceed02576d7e&testbeds=f3a5db46-a57e-4caf-b96e-f0c1111eaa67&benchmarks=f7022024-ae16-4782-8f0d-869d65a82930&measures=775999d3-d705-482f-acd8-41947f8e0fbc&start_time=1741390156000&end_time=1743982156000&report=709d3476-51a4-4939-9584-75d9a2c04c54
- bencher::mock_1 (Latency): https://bencher.dev/perf/project-abc4567-wxyz123456789?branches=88d5192d-5cd1-47c6-a817-056e5968737c&heads=657a8ee9-1f30-49d4-bd9b-ceed02576d7e&testbeds=f3a5db46-a57e-4caf-b96e-f0c1111eaa67&benchmarks=7a823440-216f-482d-a05f-8bf75e865bba&measures=775999d3-d705-482f-acd8-41947f8e0fbc&start_time=1741390156000&end_time=1743982156000&report=709d3476-51a4-4939-9584-75d9a2c04c54
- bencher::mock_2 (Latency): https://bencher.dev/perf/project-abc4567-wxyz123456789?branches=88d5192d-5cd1-47c6-a817-056e5968737c&heads=657a8ee9-1f30-49d4-bd9b-ceed02576d7e&testbeds=f3a5db46-a57e-4caf-b96e-f0c1111eaa67&benchmarks=8d9695ff-f352-4781-9561-3c69012fd9fe&measures=775999d3-d705-482f-acd8-41947f8e0fbc&start_time=1741390156000&end_time=1743982156000&report=709d3476-51a4-4939-9584-75d9a2c04c54
- bencher::mock_3 (Latency): https://bencher.dev/perf/project-abc4567-wxyz123456789?branches=88d5192d-5cd1-47c6-a817-056e5968737c&heads=657a8ee9-1f30-49d4-bd9b-ceed02576d7e&testbeds=f3a5db46-a57e-4caf-b96e-f0c1111eaa67&benchmarks=8ef6e256-8084-4afe-a7cf-eaa46384c19d&measures=775999d3-d705-482f-acd8-41947f8e0fbc&start_time=1741390156000&end_time=1743982156000&report=709d3476-51a4-4939-9584-75d9a2c04c54
- bencher::mock_4 (Latency): https://bencher.dev/perf/project-abc4567-wxyz123456789?branches=88d5192d-5cd1-47c6-a817-056e5968737c&heads=657a8ee9-1f30-49d4-bd9b-ceed02576d7e&testbeds=f3a5db46-a57e-4caf-b96e-f0c1111eaa67&benchmarks=1205e35a-c73b-4ff9-916c-40838a62ae0b&measures=775999d3-d705-482f-acd8-41947f8e0fbc&start_time=1741390156000&end_time=1743982156000&report=709d3476-51a4-4939-9584-75d9a2c04c54
Claim this project: https://bencher.dev/auth/signup?claim=d4b0cd5a-8422-40af-9872-8e18d5d062c4

Agora você pode visualizar os resultados de cada um dos seus benchmarks no navegador. Clique ou copie e cole os links de Ver resultados. Para reivindicar o projeto, clique ou copie e cole o link Reivindicar este projeto no seu navegador.



🐰 Parabéns! Você acompanhou seus primeiros resultados de benchmark! 🎉


Continue: Como Reivindicar um Projeto ➡

🤖 Este documento foi traduzido automaticamente por IA. Pode não ser preciso e pode conter erros. Se você encontrar algum erro, abra um problema no GitHub.


Published: Sat, August 12, 2023 at 9:07:00 PM UTC | Last Updated: Sun, April 6, 2025 at 6:25:00 PM UTC