Tizen 2.1 base
[platform/upstream/glib2.0.git] / glib / tests / bitlock.c
1 #include <glib.h>
2
3 #define ITERATIONS 100000000
4
5 static void
6 test_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
31 main (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 }