1# Copyright 2016 Google Inc. All Rights Reserved.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS-IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15# This file is a simplified version of fruit_wiki_benchs_{fruit,boost_di}.yml used to debug benchmarking code.
16# When using this, the benchmarks will run much faster, but the results will be unreliable and incomplete.
17
18global:
19  max_runs: 3
20  max_hours_per_combination: 2
21
22# These values are ignored, they are here just to be referenced below.
23constants:
24  compilers: &compilers
25    - "g++-7"
26    - "clang++-4.0"
27  gcc: &gcc
28    - "g++-7"
29  clang: &clang
30    - "clang++-4.0"
31
32benchmarks:
33  - name: "fruit_single_file_compile_time"
34    num_bindings:
35      - 20
36    compiler: *compilers
37    cxx_std: "c++11"
38    additional_cmake_args:
39      - []
40    benchmark_generation_flags:
41      - []
42
43  - name:
44    - "new_delete_run_time"
45    - "simple_di_compile_time"
46    - "simple_di_incremental_compile_time"
47    - "simple_di_run_time"
48    - "simple_di_startup_time"
49    - "simple_di_executable_size"
50    - "simple_di_with_interfaces_compile_time"
51    - "simple_di_with_interfaces_incremental_compile_time"
52    - "simple_di_with_interfaces_run_time"
53    - "simple_di_with_interfaces_startup_time"
54    - "simple_di_with_interfaces_executable_size"
55    - "simple_di_with_interfaces_and_new_delete_compile_time"
56    - "simple_di_with_interfaces_and_new_delete_incremental_compile_time"
57    - "simple_di_with_interfaces_and_new_delete_run_time"
58    - "simple_di_with_interfaces_and_new_delete_startup_time"
59    - "simple_di_with_interfaces_and_new_delete_executable_size"
60    loop_factor: 0.01
61    num_classes:
62      - 100
63    compiler: *compilers
64    cxx_std: "c++11"
65    additional_cmake_args:
66      - []
67    benchmark_generation_flags:
68      - []
69
70  - name:
71      - "fruit_compile_time"
72      - "fruit_incremental_compile_time"
73      - "fruit_run_time"
74      - "fruit_startup_time"
75      - "fruit_startup_time_with_normalized_component"
76      - "fruit_executable_size"
77    loop_factor: 0.01
78    num_classes:
79      - 100
80    compiler: *gcc
81    cxx_std: "c++11"
82    additional_cmake_args:
83      - []
84      - ['-DFRUIT_USES_BOOST=False']
85      - ["-DBUILD_SHARED_LIBS=False"]
86    benchmark_generation_flags:
87      - []
88
89  - name:
90      - "fruit_compile_time"
91      - "fruit_incremental_compile_time"
92      - "fruit_run_time"
93      - "fruit_startup_time"
94      - "fruit_startup_time_with_normalized_component"
95      - "fruit_executable_size"
96    loop_factor: 0.01
97    num_classes:
98      - 100
99    compiler: *clang
100    cxx_std: "c++11"
101    additional_cmake_args:
102      - []
103    benchmark_generation_flags:
104      - []
105
106  - name:
107      - "boost_di_compile_time"
108      - "boost_di_incremental_compile_time"
109      - "boost_di_run_time"
110      - "boost_di_startup_time"
111      - "boost_di_executable_size"
112    loop_factor: 0.01
113    num_classes:
114      - 100
115    compiler: *compilers
116    cxx_std: "c++14"
117    additional_cmake_args:
118      - []
119    benchmark_generation_flags:
120      - []
121