source: benchmark/benchcltr.hfa @ 8e27ac45

arm-ehenumforall-pointer-decayjacob/cs343-translationnew-astnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since 8e27ac45 was 8e27ac45, checked in by Thierry Delisle <tdelisle@…>, 3 years ago

Fixed benchmark to use getTimeNsec

  • Property mode set to 100644
File size: 929 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 = getTimeNsec();
32            Duration delta = end - start;
33            if(is_tty) {
34                  printf("\r%.1f", delta`ds);
35                  fflush(stdout);
36            }
37            if( delta >= duration`s ) {
38                  break;
39            }
40      }
41}
Note: See TracBrowser for help on using the repository browser.