typical output:
$ make -f semaphore.make demo
./semaphore-boost
./semaphore-boost: 10 threads * 100000 reps = 1000000 total; elapsed = 6833 milliseconds
./semaphore-mutex
./semaphore-mutex: 10 threads * 100000 reps = 1000000 total; elapsed = 160 milliseconds
./semaphore-pthread
./semaphore-pthread: 10 threads * 100000 reps = 1000000 total; elapsed = 150 milliseconds