Набор тестов для оценки скорости и статистического качества хеш-функций с большой таблицей проверенных реализаций.
google/benchmark
Библиотека C++ для микробенчмарков, измеряющих время выполнения небольших фрагментов кода, по структуре похожих на модульные тесты.
- Звёзды
- 10,499
- Форки
- 1,825
- Открытые issues
- 174
- Последний коммит
- 21 час назад
Что это?
Google Benchmark — библиотека C++ для измерения производительности небольших фрагментов кода. Вы пишете функцию, которая выполняет проверяемый код в цикле, регистрируете её с помощью макроса BENCHMARK, а библиотека сама управляет измерением времени, числом итераций и выводом результатов. Структура её API напоминает Google Test, поэтому библиотека естественно дополняет существующие модульные тесты.
Библиотеку можно собрать с помощью CMake, использовать через Bazel или установить как системный пакет и подключить через find_package. Для сборки требуется toolchain с поддержкой C++17, а API библиотеки можно использовать из кода на C++11. В проект также входят Python bindings и дополнительные инструменты для работы с результатами бенчмарков.
Библиотека предназначена для C++-разработчиков, которым нужно сравнивать реализации или отслеживать производительность конкретной функции, а не измерять быстродействие приложений целиком.
Ключевые возможности
- 01Регистрирует функции для бенчмарков с помощью простого макроса BENCHMARK и API на основе циклов.
- 02Собирается с помощью CMake и интегрируется с Bazel и find_package.
- 03Поддерживает параметры сборки для санитайзеров и оптимизации на этапе компоновки.
- 04Предоставляет Python bindings и документацию по дополнительным инструментам.
- 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 — 6 нояб. 2026 г..
- Для чего можно использовать 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 проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Открытая библиотека Facebook с базовыми компонентами на C++20, дополняющая Boost и std и широко используемая внутри Meta.
Фреймворк для модульного тестирования C++ с простыми проверками, макросами в стиле BDD и базовыми микробенчмарками.
Официальные наборы навыков Qt для AI-инструментов разработки: Claude Code, Codex CLI и Copilot — C++, QML, тестирование и соглашения по дизайну.
CLI-инструмент для бенчмаркинга команд со статистическим анализом, прогревочными запусками и экспортом в CSV, JSON, Markdown и AsciiDoc.
Библиотека .NET для превращения методов C# в воспроизводимые бенчмарки с автоматическим прогревом, статистикой и отчетами о результатах.