#include <glib.h> | |
#define ITERATIONS 100000000 | |
static void | |
test_bitlocks (void) | |
{ | |
guint64 start = g_get_monotonic_time (); | |
gint lock = 0; | |
gint i; | |
for (i = 0; i < ITERATIONS; i++) | |
{ | |
g_bit_lock (&lock, 0); | |
g_bit_unlock (&lock, 0); | |
} | |
{ | |
gdouble elapsed; | |
gdouble rate; | |
elapsed = g_get_monotonic_time () - start; | |
elapsed /= 1000000; | |
rate = ITERATIONS / elapsed; | |
g_test_maximized_result (rate, "iterations per second"); | |
} | |
} | |
int | |
main (int argc, char **argv) | |
{ | |
g_test_init (&argc, &argv, NULL); | |
if (g_test_perf ()) | |
g_test_add_func ("/bitlock/performance/uncontended", test_bitlocks); | |
return g_test_run (); | |
} |