Skip to content
Port of Go's testing.B to C
C Makefile
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore
LICENSE
Makefile
README.markdown
bee.c
bee.h
example.c

README.markdown

Testing Bee

This is a port of go's testing.B benchmark tool. The example will show you a specific use of it. Go's manual provides a good overview.

Usage

The usage is modeled after testing.B, but in short, the framework will decide how many times your test should run a loop by probing it a few times until it runs long enough to provide meaningful results. Your code just runs that number of times.

e.g.

void test_thing(bee_t *b) {
    for (int i = 0; i < b->n; i++) {
        // do the thing that takes the time
    }
}

int main(int argc, char **argv) {
    bench("thing", test_thing);
}

That's pretty much it. You can call fail_test(bee_t*) to indicate your test didn't succeed, and stop_timer(bee_t*) to stop the timer for a bit while you set up something expensive or perhaps to do something expensive after your loop you don't want considered part of the execution. start_timer(bee_t*) to restart the timer after stopping it, or perhaps just reset_timer(bee_t*) to clear the timer between your setup and your test loop.

Something went wrong with that request. Please try again.