| #include <glib.h> | |
| static void | |
| test_bitlocks (void) | |
| { | |
| guint64 start = g_get_monotonic_time (); | |
| gint lock = 0; | |
| guint i; | |
| guint n_iterations; | |
| n_iterations = g_test_perf () ? 100000000 : 1; | |
| for (i = 0; i < n_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 = n_iterations / elapsed; | |
| g_test_maximized_result (rate, "iterations per second"); | |
| } | |
| } | |
| int | |
| main (int argc, char **argv) | |
| { | |
| g_test_init (&argc, &argv, NULL); | |
| g_test_add_func ("/bitlock/performance/uncontended", test_bitlocks); | |
| return g_test_run (); | |
| } |