source: benchmark/schedint/upp.cc@ c570806

ADT arm-eh ast-experimental enum forall-pointer-decay jacob/cs343-translation new-ast new-ast-unique-expr pthread-emulation qualifiedEnum
Last change on this file since c570806 was dc33b5b, checked in by Peter A. Buhr <pabuhr@…>, 6 years ago

update benchmarks and add benchmarks for qthreads

  • Property mode set to 100644
File size: 582 bytes
Line 
1#include <cstdio>
2
3#include "bench.h"
4
5int argc;
6char** argv;
7volatile int go = 0;
8
9_Monitor M {
10 uCondition cond;
11public:
12 void __attribute__((noinline)) call() {
13 cond.signal();
14 }
15
16 int __attribute__((noinline)) wait() {
17 go = 1;
18 BENCH(
19 for (size_t i = 0; i < n; i++) {
20 cond.wait();
21 },
22 result
23 )
24
25 printf("%g\n", result);
26 go = 0;
27 return 0;
28 }
29};
30
31M m;
32
33_Task T {
34 void main() {
35 while(go == 0) { yield(); }
36 while(go == 1) { m.call(); }
37
38 }
39};
40
41int main(__attribute__((unused)) int argc, __attribute__((unused)) char* argv[]) {
42 T t;
43 return m.wait();
44}
Note: See TracBrowser for help on using the repository browser.