]> pd.if.org Git - liblfds/blob - liblfds/liblfds7.1.0/test_and_benchmark/libbenchmark/inc/libbenchmark/libbenchmark_results.h
Initial import (all versions, including the new 7.1.0)
[liblfds] / liblfds / liblfds7.1.0 / test_and_benchmark / libbenchmark / inc / libbenchmark / libbenchmark_results.h
1 /***** defines *****/
2
3 /***** enums *****/
4
5 /***** structs *****/
6 struct libbenchmark_result
7 {
8   enum libbenchmark_benchmark_id
9     benchmark_id;
10
11   enum libbenchmark_datastructure_id
12     datastructure_id;
13
14   enum libbenchmark_lock_id
15     lock_id;
16
17   enum libbenchmark_topology_numa_mode
18     numa_mode;
19
20   lfds710_pal_uint_t
21     result;
22
23   struct lfds710_btree_au_element
24     baue;
25
26   struct lfds710_list_aso_state
27     *lpset;
28
29   struct libbenchmark_topology_node_state
30     tns;
31 };
32
33 struct libbenchmark_results_state
34 {
35   struct libshared_memory_state
36     *ms;
37
38   struct lfds710_btree_au_state
39     results_tree;
40 };
41
42 /***** public prototypes *****/
43 void libbenchmark_results_init( struct libbenchmark_results_state *rs,
44                                 struct libshared_memory_state *ms );
45 void libbenchmark_results_cleanup( struct libbenchmark_results_state *rs );
46
47 void libbenchmark_results_put_result( struct libbenchmark_results_state *rs,
48                                       enum libbenchmark_datastructure_id datastructure_id,
49                                       enum libbenchmark_benchmark_id benchmark_id,
50                                       enum libbenchmark_lock_id lock_id,
51                                       enum libbenchmark_topology_numa_mode numa_mode,
52                                       struct lfds710_list_aso_state *lpset,
53                                       lfds710_pal_uint_t logical_processor_number,
54                                       lfds710_pal_uint_t windows_logical_processor_group_number,
55                                       lfds710_pal_uint_t result );
56
57 int libbenchmark_results_get_result( struct libbenchmark_results_state *rs,
58                                      enum libbenchmark_datastructure_id datastructure_id,
59                                      enum libbenchmark_benchmark_id benchmark_id,
60                                      enum libbenchmark_lock_id lock_id,
61                                      enum libbenchmark_topology_numa_mode numa_mode,
62                                      struct lfds710_list_aso_state *lpset,
63                                      struct libbenchmark_topology_node_state *tns,
64                                      lfds710_pal_uint_t *result );
65
66 int libbenchmark_result_compare_function( void const *new_key, void const *existing_key );
67