]> pd.if.org Git - liblfds/blob - liblfds/liblfds7.1.0/test_and_benchmark/libbenchmark/inc/libbenchmark/libbenchmark_benchmarkset.h
Initial import (all versions, including the new 7.1.0)
[liblfds] / liblfds / liblfds7.1.0 / test_and_benchmark / libbenchmark / inc / libbenchmark / libbenchmark_benchmarkset.h
1 /***** defines *****/
2
3 /***** enums *****/
4
5 /***** structs *****/
6 struct libbenchmark_benchmarkset_state
7 {
8   enum libbenchmark_datastructure_id
9     datastructure_id;
10
11   enum libbenchmark_benchmark_id
12     benchmark_id;
13
14   struct lfds710_list_asu_element
15     lasue;
16
17   struct lfds710_list_asu_state
18     benchmarks,
19     *logical_processor_sets,
20     *numa_modes_list;
21
22   struct libshared_memory_state
23     *ms;
24
25   struct libbenchmark_topology_state
26     *ts;
27 };
28
29 struct libbenchmark_benchmarkset_gnuplot
30 {
31   char
32     filename[256],
33     *gnuplot_string;
34
35   enum libbenchmark_benchmark_id
36     benchmark_id;
37
38   enum libbenchmark_datastructure_id
39     datastructure_id;
40
41   struct lfds710_list_asu_element
42     lasue;
43 };
44
45 /***** public prototypes *****/
46 void libbenchmark_benchmarkset_init( struct libbenchmark_benchmarkset_state *bsets,
47                                      enum libbenchmark_datastructure_id datastructure_id,
48                                      enum libbenchmark_benchmark_id benchmark_id,
49                                      struct lfds710_list_asu_state *logical_processor_sets,
50                                      struct lfds710_list_asu_state *numa_modes_list,
51                                      struct libbenchmark_topology_state *ts,
52                                      struct libshared_memory_state *ms );
53
54 void libbenchmark_benchmarkset_cleanup( struct libbenchmark_benchmarkset_state *bsets );
55
56 void libbenchmark_benchmarkset_add_benchmark( struct libbenchmark_benchmarkset_state *bsets, struct libbenchmark_benchmarkinstance_state *bs );
57
58 void libbenchmark_benchmarkset_run( struct libbenchmark_benchmarkset_state *bsets, struct libbenchmark_results_state *rs );
59
60 void libbenchmark_benchmarkset_gnuplot_emit( struct libbenchmark_benchmarkset_state *bsets,
61                                              struct libbenchmark_results_state *rs,
62                                              char *gnuplot_system_string,
63                                              enum libbenchmark_topology_numa_mode numa_mode,
64                                              struct libbenchmark_gnuplot_options *gpo,
65                                              struct libbenchmark_benchmarkset_gnuplot *bg );
66