1 2# These values are ignored, they are here just to be referenced below. 3constants: 4 num_bindings_column: &num_bindings_column 5 dimension: "num_bindings" 6 pretty_printer: 7 format_string: "%s bindings" 8 9 num_classes_column: &num_classes_column 10 dimension: "num_classes" 11 pretty_printer: 12 format_string: "%s classes" 13 14 compiler_name_row: &compiler_name_row 15 dimension: "compiler_name" 16 pretty_printer: 17 format_string: "%s" 18 19tables: 20 # Main Fruit benchmark tables 21 22 - name: "Fruit compile time (single file)" 23 benchmark_filter: 24 name: "fruit_single_file_compile_time" 25 additional_cmake_args: [] 26 benchmark_generation_flags: [] 27 columns: *num_bindings_column 28 rows: *compiler_name_row 29 results: 30 dimension: "compile_time" 31 unit: "seconds" 32 33 - name: "Fruit compile time" 34 benchmark_filter: 35 name: "fruit_compile_time" 36 additional_cmake_args: [] 37 benchmark_generation_flags: [] 38 columns: *num_classes_column 39 rows: *compiler_name_row 40 results: 41 dimension: "compile_time" 42 unit: "seconds" 43 44 - name: "Fruit full injection time" 45 benchmark_filter: 46 name: "fruit_run_time" 47 additional_cmake_args: [] 48 benchmark_generation_flags: [] 49 columns: *num_classes_column 50 rows: *compiler_name_row 51 results: 52 dimension: "Full injection time" 53 unit: "seconds" 54 55 - name: "Fruit setup time" 56 benchmark_filter: 57 name: "fruit_run_time" 58 additional_cmake_args: [] 59 benchmark_generation_flags: [] 60 columns: *num_classes_column 61 rows: *compiler_name_row 62 results: 63 dimension: "Total for setup" 64 unit: "seconds" 65 66 - name: "Fruit per-request time" 67 benchmark_filter: 68 name: "fruit_run_time" 69 additional_cmake_args: [] 70 benchmark_generation_flags: [] 71 columns: *num_classes_column 72 rows: *compiler_name_row 73 results: 74 dimension: "Total per request" 75 unit: "seconds" 76 77 - name: "New/delete time" 78 benchmark_filter: 79 name: "new_delete_run_time" 80 additional_cmake_args: [] 81 benchmark_generation_flags: [] 82 columns: *num_classes_column 83 rows: *compiler_name_row 84 results: 85 dimension: "Total" 86 unit: "seconds" 87 88 # The following tables compare Fruit to Boost.DI or to no DI library 89 90 - name: "Compile time (100 classes)" 91 benchmark_filter: 92 num_classes: 100 93 additional_cmake_args: [] 94 benchmark_generation_flags: [] 95 columns: 96 dimension: "name" 97 pretty_printer: 98 fixed_map: 99 "fruit_compile_time": "Fruit" 100 "boost_di_compile_time": "Boost.DI" 101 "simple_di_compile_time": "Simple DI" 102 "simple_di_with_interfaces_compile_time": "Simple DI w/ interfaces" 103 "simple_di_with_interfaces_and_new_delete_compile_time": "Simple DI w/ interfaces, new/delete" 104 rows: *compiler_name_row 105 results: 106 dimension: "compile_time" 107 unit: "seconds" 108 109 - name: "Compile time (1000 classes)" 110 benchmark_filter: 111 num_classes: 1000 112 additional_cmake_args: [] 113 benchmark_generation_flags: [] 114 columns: 115 dimension: "name" 116 pretty_printer: 117 fixed_map: 118 "fruit_compile_time": "Fruit" 119 "boost_di_compile_time": "Boost.DI" 120 "simple_di_compile_time": "Simple DI" 121 "simple_di_with_interfaces_compile_time": "Simple DI w/ interfaces" 122 "simple_di_with_interfaces_and_new_delete_compile_time": "Simple DI w/ interfaces, new/delete" 123 rows: *compiler_name_row 124 results: 125 dimension: "compile_time" 126 unit: "seconds" 127 128 - name: "Incremental compile time (100 classes)" 129 benchmark_filter: 130 num_classes: 100 131 additional_cmake_args: [] 132 benchmark_generation_flags: [] 133 columns: 134 dimension: "name" 135 pretty_printer: 136 fixed_map: 137 "fruit_incremental_compile_time": "Fruit" 138 "boost_di_incremental_compile_time": "Boost.DI" 139 "simple_di_incremental_compile_time": "Simple DI" 140 "simple_di_with_interfaces_incremental_compile_time": "Simple DI w/ interfaces" 141 "simple_di_with_interfaces_and_new_delete_incremental_compile_time": "Simple DI w/ interfaces, new/delete" 142 rows: *compiler_name_row 143 results: 144 dimension: "compile_time" 145 unit: "seconds" 146 147 - name: "Incremental compile time (1000 classes)" 148 benchmark_filter: 149 num_classes: 1000 150 additional_cmake_args: [] 151 benchmark_generation_flags: [] 152 columns: 153 dimension: "name" 154 pretty_printer: 155 fixed_map: 156 "fruit_incremental_compile_time": "Fruit" 157 "boost_di_incremental_compile_time": "Boost.DI" 158 "simple_di_incremental_compile_time": "Simple DI" 159 "simple_di_with_interfaces_incremental_compile_time": "Simple DI w/ interfaces" 160 "simple_di_with_interfaces_and_new_delete_incremental_compile_time": "Simple DI w/ interfaces, new/delete" 161 rows: *compiler_name_row 162 results: 163 dimension: "compile_time" 164 unit: "seconds" 165 166 - name: "Full injection time (100 classes)" 167 benchmark_filter: 168 num_classes: 100 169 additional_cmake_args: [] 170 benchmark_generation_flags: [] 171 columns: 172 dimension: "name" 173 pretty_printer: 174 fixed_map: 175 "fruit_run_time": "Fruit" 176 "boost_di_run_time": "Boost.DI" 177 "simple_di_run_time": "Simple DI" 178 "simple_di_with_interfaces_run_time": "Simple DI w/ interfaces" 179 "simple_di_with_interfaces_and_new_delete_run_time": "Simple DI w/ interfaces, new/delete" 180 rows: *compiler_name_row 181 results: 182 dimension: "Full injection time" 183 unit: "seconds" 184 185 - name: "Full injection time (1000 classes)" 186 benchmark_filter: 187 num_classes: 1000 188 additional_cmake_args: [] 189 benchmark_generation_flags: [] 190 columns: 191 dimension: "name" 192 pretty_printer: 193 fixed_map: 194 "fruit_run_time": "Fruit" 195 "boost_di_run_time": "Boost.DI" 196 "simple_di_run_time": "Simple DI" 197 "simple_di_with_interfaces_run_time": "Simple DI w/ interfaces" 198 "simple_di_with_interfaces_and_new_delete_run_time": "Simple DI w/ interfaces, new/delete" 199 rows: *compiler_name_row 200 results: 201 dimension: "Full injection time" 202 unit: "seconds" 203 204 - name: "Setup time (100 classes)" 205 benchmark_filter: 206 num_classes: 100 207 additional_cmake_args: [] 208 benchmark_generation_flags: [] 209 columns: 210 dimension: "name" 211 pretty_printer: 212 fixed_map: 213 "fruit_run_time": "Fruit" 214 "boost_di_run_time": "Boost.DI" 215 "simple_di_run_time": "Simple DI" 216 "simple_di_with_interfaces_run_time": "Simple DI w/ interfaces" 217 "simple_di_with_interfaces_and_new_delete_run_time": "Simple DI w/ interfaces, new/delete" 218 rows: *compiler_name_row 219 results: 220 dimension: "Total for setup" 221 unit: "seconds" 222 223 - name: "Setup time (1000 classes)" 224 benchmark_filter: 225 num_classes: 1000 226 additional_cmake_args: [] 227 benchmark_generation_flags: [] 228 columns: 229 dimension: "name" 230 pretty_printer: 231 fixed_map: 232 "fruit_run_time": "Fruit" 233 "boost_di_run_time": "Boost.DI" 234 "simple_di_run_time": "Simple DI" 235 "simple_di_with_interfaces_run_time": "Simple DI w/ interfaces" 236 "simple_di_with_interfaces_and_new_delete_run_time": "Simple DI w/ interfaces, new/delete" 237 rows: *compiler_name_row 238 results: 239 dimension: "Total for setup" 240 unit: "seconds" 241 242 - name: "Per-request time (100 classes)" 243 benchmark_filter: 244 num_classes: 100 245 additional_cmake_args: [] 246 benchmark_generation_flags: [] 247 columns: 248 dimension: "name" 249 pretty_printer: 250 fixed_map: 251 "fruit_run_time": "Fruit" 252 "boost_di_run_time": "Boost.DI" 253 "simple_di_run_time": "Simple DI" 254 "simple_di_with_interfaces_run_time": "Simple DI w/ interfaces" 255 "simple_di_with_interfaces_and_new_delete_run_time": "Simple DI w/ interfaces, new/delete" 256 rows: *compiler_name_row 257 results: 258 dimension: "Total per request" 259 unit: "seconds" 260 261 - name: "Per-request time (1000 classes)" 262 benchmark_filter: 263 num_classes: 1000 264 additional_cmake_args: [] 265 benchmark_generation_flags: [] 266 columns: 267 dimension: "name" 268 pretty_printer: 269 fixed_map: 270 "fruit_run_time": "Fruit" 271 "boost_di_run_time": "Boost.DI" 272 "simple_di_run_time": "Simple DI" 273 "simple_di_with_interfaces_run_time": "Simple DI w/ interfaces" 274 "simple_di_with_interfaces_and_new_delete_run_time": "Simple DI w/ interfaces, new/delete" 275 rows: *compiler_name_row 276 results: 277 dimension: "Total per request" 278 unit: "seconds" 279 280 - name: "Executable size (stripped, 100 classes)" 281 benchmark_filter: 282 num_classes: 100 283 additional_cmake_args: [] 284 benchmark_generation_flags: [] 285 columns: 286 dimension: "name" 287 pretty_printer: 288 fixed_map: 289 "fruit_executable_size": "Fruit" 290 "boost_di_executable_size": "Boost.DI" 291 "simple_di_run_time": "Simple DI" 292 "simple_di_with_interfaces_run_time": "Simple DI w/ interfaces" 293 "simple_di_with_interfaces_and_new_delete_run_time": "Simple DI w/ interfaces, new/delete" 294 rows: *compiler_name_row 295 results: 296 dimension: "num_bytes" 297 unit: "bytes" 298 299 - name: "Executable size (stripped, 1000 classes)" 300 benchmark_filter: 301 num_classes: 1000 302 additional_cmake_args: [] 303 benchmark_generation_flags: [] 304 columns: 305 dimension: "name" 306 pretty_printer: 307 fixed_map: 308 "fruit_executable_size": "Fruit" 309 "boost_di_executable_size": "Boost.DI" 310 "simple_di_run_time": "Simple DI" 311 "simple_di_with_interfaces_run_time": "Simple DI w/ interfaces" 312 "simple_di_with_interfaces_and_new_delete_run_time": "Simple DI w/ interfaces, new/delete" 313 rows: *compiler_name_row 314 results: 315 dimension: "num_bytes" 316 unit: "bytes" 317 318 319 # The following tables compare various Fruit configurations 320 321 - name: "Compile time (100 classes)" 322 benchmark_filter: 323 num_classes: 100 324 name: "fruit_compile_time" 325 benchmark_generation_flags: [] 326 columns: 327 dimension: "additional_cmake_args" 328 pretty_printer: 329 fixed_map: 330 - from: [] 331 to: "default" 332 - from: ["-DFRUIT_USES_BOOST=False"] 333 to: "With -DFRUIT_USES_BOOST=False" 334 - from: ["-DBUILD_SHARED_LIBS=False"] 335 to: "Statically-linking with Fruit" 336 rows: *compiler_name_row 337 results: 338 dimension: "compile_time" 339 unit: "seconds" 340 341 - name: "Full injection time (100 classes)" 342 benchmark_filter: 343 num_classes: 100 344 name: "fruit_run_time" 345 benchmark_generation_flags: [] 346 columns: 347 dimension: "additional_cmake_args" 348 pretty_printer: 349 fixed_map: 350 - from: [] 351 to: "default" 352 - from: ["-DFRUIT_USES_BOOST=False"] 353 to: "With -DFRUIT_USES_BOOST=False" 354 - from: ["-DBUILD_SHARED_LIBS=False"] 355 to: "Statically-linking with Fruit" 356 rows: *compiler_name_row 357 results: 358 dimension: "Full injection time" 359 unit: "seconds" 360 361 - name: "Setup time (100 classes)" 362 benchmark_filter: 363 num_classes: 100 364 name: "fruit_run_time" 365 benchmark_generation_flags: [] 366 columns: 367 dimension: "additional_cmake_args" 368 pretty_printer: 369 fixed_map: 370 - from: [] 371 to: "default" 372 - from: ["-DFRUIT_USES_BOOST=False"] 373 to: "With -DFRUIT_USES_BOOST=False" 374 - from: ["-DBUILD_SHARED_LIBS=False"] 375 to: "Statically-linking with Fruit" 376 rows: *compiler_name_row 377 results: 378 dimension: "Total for setup" 379 unit: "seconds" 380 381 - name: "Per-request time (100 classes)" 382 benchmark_filter: 383 num_classes: 100 384 name: "fruit_run_time" 385 benchmark_generation_flags: [] 386 columns: 387 dimension: "additional_cmake_args" 388 pretty_printer: 389 fixed_map: 390 - from: [] 391 to: "default" 392 - from: ["-DFRUIT_USES_BOOST=False"] 393 to: "With -DFRUIT_USES_BOOST=False" 394 - from: ["-DBUILD_SHARED_LIBS=False"] 395 to: "Statically-linking with Fruit" 396 rows: *compiler_name_row 397 results: 398 dimension: "Total per request" 399 unit: "seconds" 400 401 - name: "Executable size (stripped)" 402 benchmark_filter: 403 name: "fruit_executable_size" 404 benchmark_generation_flags: [] 405 additional_cmake_args: [] 406 columns: *num_classes_column 407 rows: *compiler_name_row 408 results: 409 dimension: "num_bytes" 410 unit: "bytes" 411 412 - name: "Executable size (stripped, 100 classes)" 413 benchmark_filter: 414 num_classes: 100 415 name: "fruit_executable_size" 416 benchmark_generation_flags: [] 417 columns: 418 dimension: "additional_cmake_args" 419 pretty_printer: 420 fixed_map: 421 - from: [] 422 to: "default" 423 - from: ["-DFRUIT_USES_BOOST=False"] 424 to: "With -DFRUIT_USES_BOOST=False" 425 - from: ["-DBUILD_SHARED_LIBS=False"] 426 to: "Statically-linking with Fruit" 427 rows: *compiler_name_row 428 results: 429 dimension: "num_bytes" 430 unit: "bytes" 431