Suíte de testes que mede a velocidade e a qualidade estatística de funções hash e apresenta uma ampla tabela de implementações avaliadas.
google/benchmark
Uma biblioteca C++ para criar microbenchmarks que medem o tempo de pequenos trechos de código, com uma estrutura semelhante à de testes unitários.
- Estrelas
- 10,499
- Forks
- 1,825
- Issues abertas
- 174
- Último commit
- ontem
O que é?
Google Benchmark é uma biblioteca C++ para medir o desempenho de pequenos trechos de código. Você escreve uma função que executa o código em teste dentro de um loop, registra essa função com a macro BENCHMARK e deixa a biblioteca cuidar da medição de tempo, da quantidade de iterações e da apresentação dos resultados. A estrutura da API lembra a do Google Test, então ela se encaixa naturalmente ao lado dos testes unitários existentes.
A biblioteca pode ser compilada com CMake e também pode ser usada via Bazel ou instalada como um pacote do sistema e importada com find_package. Para compilá-la, é necessário um toolchain C++17, mas a API da biblioteca pode ser usada em código C++11. O projeto também oferece bindings para Python e ferramentas adicionais para trabalhar com resultados de benchmarks.
Ela é voltada a desenvolvedores C++ que precisam comparar implementações ou acompanhar o desempenho de uma função específica, em vez de medir aplicações inteiras.
Recursos principais
- 01Registra funções de benchmark com a macro BENCHMARK simples e uma API baseada em loops.
- 02Compila com CMake e integra-se ao Bazel e ao find_package.
- 03Oferece opções de compilação para sanitizers e otimização em tempo de link.
- 04Disponibiliza bindings para Python e documentação de ferramentas adicionais.
- 05Oferece documentação sobre testes de assembly para verificar o código gerado.
Casos de uso
- Comparar duas implementações C++ da mesma função para descobrir qual é mais rápida.
- Adicionar verificações de regressão de desempenho para trechos críticos de código junto aos testes unitários.
- Medir o custo de algoritmos individuais ou de operações em estruturas de dados.
Início rápido
- 1
Clone o repositório da biblioteca
git clone https://github.com/google/benchmark.git - 2
Acesse o diretório raiz da biblioteca
cd benchmark - 3
Gere os arquivos do sistema de build com o CMake e baixe as dependências
cmake -DBENCHMARK_DOWNLOAD_DEPENDENCIES=on -DCMAKE_BUILD_TYPE=Release -S . -B "build" - 4
Compile a biblioteca
cmake --build "build" --config Release
Antes de usar
- A biblioteca requer um compilador e uma biblioteca padrão compatíveis com C++17 para ser compilada.
- A branch experimental v2 não oferece garantias de estabilidade, e a API pode mudar a qualquer momento.
Em coleções
Tópicos
Perguntas frequentes
- O que é benchmark?
- Uma biblioteca C++ para criar microbenchmarks que medem o tempo de pequenos trechos de código, com uma estrutura semelhante à de testes unitários. Google Benchmark é uma biblioteca C++ para medir o desempenho de pequenos trechos de código. Você escreve uma função que executa o código em teste dentro de um loop, registra essa função com a macro BENCHMARK e deixa a biblioteca cuidar da medição de tempo, da quantidade de iterações e da apresentação dos resultados. A estrutura da API lembra a do Google Test, então ela se encaixa naturalmente ao lado dos testes unitários existentes.
- benchmark é gratuito? Qual é a licença?
- benchmark é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- benchmark ainda é mantido?
- Manutenção ativa. O último commit de benchmark foi em 6 de nov. de 2026.
- Para que posso usar benchmark?
- Comparar duas implementações C++ da mesma função para descobrir qual é mais rápida. Adicionar verificações de regressão de desempenho para trechos críticos de código junto aos testes unitários. Medir o custo de algoritmos individuais ou de operações em estruturas de dados.
- Como instalar benchmark?
- Clone o repositório da biblioteca: git clone https://github.com/google/benchmark.git Acesse o diretório raiz da biblioteca: cd benchmark Gere os arquivos do sistema de build com o CMake e baixe as dependências: cmake -DBENCHMARK_DOWNLOAD_DEPENDENCIES=on -DCMAKE_BUILD_TYPE=Release -S . -B "build" Compile a biblioteca: cmake --build "build" --config Release
- Onde consigo benchmark?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/google/benchmark
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca C++20 open source do Facebook com componentes essenciais que complementam Boost e std e são amplamente usados na Meta.
Framework de testes unitários para C++ baseado em headers, com asserts simples, macros no estilo BDD e microbenchmarking básico.
Pacotes oficiais de skills do Qt que ensinam ferramentas de programação com IA, como Claude Code, Codex CLI e Copilot, a seguir convenções de Qt C++, QML, testes e design.
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.
Uma biblioteca .NET para transformar métodos C# em benchmarks reproduzíveis, com aquecimento automático, estatísticas e relatórios de resultados.