Repolode
google

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. 1

    Clone o repositório da biblioteca

    git clone https://github.com/google/benchmark.git
  2. 2

    Acesse o diretório raiz da biblioteca

    cd benchmark
  3. 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. 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