#include #include "bench.h" int argc; char** argv; volatile int go = 0; _Monitor M { public: void __attribute__((noinline)) call() {} int __attribute__((noinline)) wait() { go = 1; BENCH( for (size_t i = 0; i < n; i++) { _Accept(call); }, 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 margc, char* margv[]) { argc = margc; argv = margv; T t; return m.wait(); }