source: benchmark/benchcltr.hfa @ c953163

ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-astnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since c953163 was c953163, checked in by Thierry Delisle <tdelisle@…>, 4 years ago

benchmark should now print progress as doubles

  • Property mode set to 100644
File size: 900 bytes
Line 
1#pragma once
2
3#include <assert.h>
4#include <kernel.hfa>
5#include <thread.hfa>
6
7struct cluster * the_benchmark_cluster = 0p;
8struct BenchCluster {
9      cluster self;
10};
11
12void ?{}( BenchCluster & this, int flags ) {
13      (this.self){ "Benchmark Cluster", flags };
14
15      assert( the_benchmark_cluster == 0p );
16      the_benchmark_cluster = &this.self;
17}
18
19struct BenchProc {
20        processor self;
21};
22
23void ?{}( BenchProc & this ) {
24      assert( the_benchmark_cluster != 0p );
25        (this.self){ "Benchmark Processor", *the_benchmark_cluster };
26}
27
28void wait(double duration, Time & start, Time & end, bool is_tty) {
29      for() {
30            sleep(100`ms);
31            end = getTime();
32            if( (end - start) >= duration`s ) {
33                  break;
34            }
35            if(is_tty) {
36                  printf("\r%.4lf", (end - start)`ds);
37                  fflush(stdout);
38            }
39      }
40}
Note: See TracBrowser for help on using the repository browser.