#include #include #include #include #include "../bench.h" volatile int go = 0; condition c; monitor M {} m1; void __attribute__((noinline)) call( M & mutex p1 ) { signal( c ); } void __attribute__((noinline)) wait( M & mutex p1 ) { go = 1; for ( times ) { wait( c ); } go = 0; } thread T {}; void main( T & ) { while ( go == 0 ) { yield(); } BENCH( while ( go == 1 ) { call( m1 ); }, result ) printf( "%g\n", result ); } int main( int argc, char * argv[] ) { BENCH_START() T t; wait( m1 ); } // Local Variables: // // tab-width: 4 // // End: //