해시 함수의 속도와 통계적 품질을 측정하고, 테스트한 구현을 대규모 표로 정리한 테스트 도구 모음입니다.
google/benchmark
단위 테스트와 비슷한 구조로 짧은 코드 조각의 실행 시간을 측정하는 C++ 마이크로벤치마크 라이브러리입니다.
- 스타
- 10,499
- 포크
- 1,825
- 열린 이슈
- 174
- 마지막 커밋
- 어제
어떤 프로젝트인가요?
Google Benchmark는 짧은 코드 조각의 성능을 측정하는 C++ 라이브러리입니다. 테스트할 코드를 루프 안에서 실행하는 함수를 작성한 뒤 BENCHMARK 매크로로 등록하면, 라이브러리가 실행 시간과 반복 횟수를 측정하고 결과를 보고합니다. API 구조가 Google Test와 비슷해 기존 단위 테스트와 자연스럽게 함께 사용할 수 있습니다.
라이브러리는 CMake로 빌드할 수 있으며, Bazel을 통해 사용하거나 시스템 패키지로 설치한 뒤 find_package로 가져올 수도 있습니다. 빌드에는 C++17 툴체인이 필요하지만, 라이브러리 API는 C++11 코드에서도 사용할 수 있습니다. 프로젝트는 Python 바인딩과 벤치마크 결과를 다루기 위한 추가 도구도 제공합니다.
전체 애플리케이션이 아니라 특정 함수의 성능을 추적하거나 구현을 비교하려는 C++ 개발자를 위한 라이브러리입니다.
핵심 기능
- 01간단한 BENCHMARK 매크로와 루프 기반 API로 벤치마크 함수를 등록합니다.
- 02CMake로 빌드할 수 있으며 Bazel 및 find_package와 연동됩니다.
- 03Sanitizer 및 링크 타임 최적화 빌드 옵션을 지원합니다.
- 04Python 바인딩과 추가 도구에 관한 문서를 제공합니다.
- 05생성된 코드를 확인하기 위한 어셈블리 테스트 문서를 제공합니다.
활용 사례
- 같은 함수를 구현한 두 C++ 코드를 비교해 어느 쪽이 더 빠른지 확인합니다.
- 단위 테스트와 함께 성능 병목 코드 경로의 성능 회귀 검사를 추가합니다.
- 개별 알고리즘이나 자료구조 연산의 비용을 측정합니다.
빠른 시작
- 1
라이브러리 저장소를 클론합니다
git clone https://github.com/google/benchmark.git - 2
라이브러리 루트 디렉터리로 이동합니다
cd benchmark - 3
CMake로 빌드 시스템 파일을 생성하고 종속성을 다운로드합니다
cmake -DBENCHMARK_DOWNLOAD_DEPENDENCIES=on -DCMAKE_BUILD_TYPE=Release -S . -B "build" - 4
라이브러리를 빌드합니다
cmake --build "build" --config Release
사용 전 알아둘 점
- 라이브러리를 빌드하려면 C++17 컴파일러와 표준 라이브러리가 필요합니다.
- 실험적인 v2 브랜치는 안정성을 보장하지 않으며 API가 언제든 변경될 수 있습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- benchmark은(는) 무엇인가요?
- 단위 테스트와 비슷한 구조로 짧은 코드 조각의 실행 시간을 측정하는 C++ 마이크로벤치마크 라이브러리입니다. Google Benchmark는 짧은 코드 조각의 성능을 측정하는 C++ 라이브러리입니다. 테스트할 코드를 루프 안에서 실행하는 함수를 작성한 뒤 BENCHMARK 매크로로 등록하면, 라이브러리가 실행 시간과 반복 횟수를 측정하고 결과를 보고합니다. API 구조가 Google Test와 비슷해 기존 단위 테스트와 자연스럽게 함께 사용할 수 있습니다.
- benchmark은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- benchmark은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- benchmark은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. benchmark의 마지막 커밋은 2026년 11월 6일입니다.
- benchmark은(는) 어디에 사용할 수 있나요?
- 같은 함수를 구현한 두 C++ 코드를 비교해 어느 쪽이 더 빠른지 확인합니다. 단위 테스트와 함께 성능 병목 코드 경로의 성능 회귀 검사를 추가합니다. 개별 알고리즘이나 자료구조 연산의 비용을 측정합니다.
- benchmark는 어떻게 설치하나요?
- 라이브러리 저장소를 클론합니다: git clone https://github.com/google/benchmark.git 라이브러리 루트 디렉터리로 이동합니다: cd benchmark CMake로 빌드 시스템 파일을 생성하고 종속성을 다운로드합니다: cmake -DBENCHMARK_DOWNLOAD_DEPENDENCIES=on -DCMAKE_BUILD_TYPE=Release -S . -B "build" 라이브러리를 빌드합니다: cmake --build "build" --config Release
- benchmark은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/google/benchmark
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Meta에서 폭넓게 사용되는 Facebook의 오픈소스 C++20 핵심 컴포넌트 라이브러리로, Boost와 std를 보완합니다.
간단한 assertion, BDD 스타일 매크로, 기본 마이크로벤치마킹을 제공하는 C++ 헤더 기반 단위 테스트 프레임워크입니다.
Claude Code, Codex CLI, Copilot 같은 AI 코딩 도구에 Qt C++, QML, 테스트 및 디자인 규칙을 알려주는 공식 Qt 스킬 팩입니다.
통계 분석과 워밍업 실행을 지원하고 결과를 CSV, JSON, Markdown, AsciiDoc으로 내보내는 명령어 벤치마크 도구입니다.
.NET용 라이브러리로, C# 메서드를 자동 워밍업과 통계 및 결과 보고서를 갖춘 재현 가능한 벤치마크로 바꿔 줍니다.