1 #include <glib.h> 2 3 #define ITERATIONS 100000000 4 5 static void test_bitlocks(void)6test_bitlocks (void) 7 { 8 guint64 start = g_get_monotonic_time (); 9 gint lock = 0; 10 gint i; 11 12 for (i = 0; i < ITERATIONS; i++) 13 { 14 g_bit_lock (&lock, 0); 15 g_bit_unlock (&lock, 0); 16 } 17 18 { 19 gdouble elapsed; 20 gdouble rate; 21 22 elapsed = g_get_monotonic_time () - start; 23 elapsed /= 1000000; 24 rate = ITERATIONS / elapsed; 25 26 g_test_maximized_result (rate, "iterations per second"); 27 } 28 } 29 30 int main(int argc,char ** argv)31main (int argc, char **argv) 32 { 33 g_test_init (&argc, &argv, NULL); 34 35 if (g_test_perf ()) 36 g_test_add_func ("/bitlock/performance/uncontended", test_bitlocks); 37 38 return g_test_run (); 39 } 40