Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

hayai - the C++ benchmarking framework.

Build Status

hayai is a C++ framework for writing benchmarks for pieces of code along the lines of the normal approach for unit testing using frameworks such as googletest. For information on the origin of and how to use hayai, please read the introductory blog post until I have the time to write a proper README.

Installing hayai

hayai releases are made available for Mac OS X in Homebrew and for Ubuntu LTS releases in an Ubuntu PPA.

To install from Homebrew on Mac OS X:

$ brew install hayai

To install from the Ubuntu PPA:

$ apt-add-repository ppa:bruun/hayai
$ apt-get update
$ apt-get install libhayai-dev

Building hayai

hayai is fully header based, but to use the simple main function as described in the introducty blog post, the source code must be compiled to provide libhayai_main. Compiling the source code requires CMake to be present on the system:

$ cd hayai
$ cmake .
$ make

This will also build the sample available in the sample/ directory of the repository.

Developing hayai

hayai includes a (currently not at all very comprehensive) test suite for development. To use the test suite, pass a boolean true value as the BUILD_HAYAI_TESTS CMake variable:

$ cd hayai
$ cmake -DBUILD_HAYAI_TESTS=true .
$ make
$ make test