#include #include "bench.h" volatile int go = 0; _Monitor M { uCondition cond; public: void __attribute__((noinline)) call() { cond.signal(); } int __attribute__((noinline)) wait() { go = 1; BENCH( for (size_t i = 0; i < times; i++) { cond.wait(); }, result ) printf( "%g\n", result ); go = 0; return 0; } }; M m; _Task T { void main() { while(go == 0) { yield(); } while(go == 1) { m.call(); } } }; int main( int argc, char * argv[] ) { BENCH_START() T t; return m.wait(); } // Local Variables: // // tab-width: 4 // // End: //