source: benchmark/benchcltr.hfa@ 9791ab5

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 9791ab5 was 9791ab5, checked in by Thierry Delisle <tdelisle@…>, 5 years ago

Harmonized readv and yield benchmark

  • Property mode set to 100644
File size: 907 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(500`ms);
31 end = getTime();
32 if( (end - start) >= duration`s ) {
33 break;
34 }
35 if(is_tty) {
36 printf("\r%.4lf", (double)(end - start)`s);
37 fflush(stdout);
38 }
39 }
40}
Note: See TracBrowser for help on using the repository browser.