source: src/benchmark/schedext/upp.cc@ fdd3786

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors deferred_resn demangler enum forall-pointer-decay jacob/cs343-translation jenkins-sandbox new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new with_gc
Last change on this file since fdd3786 was bb7e3d4, checked in by Thierry Delisle <tdelisle@…>, 8 years ago

Removed second processor in scheduling benchmark, since it was creating too much contention

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