# These values are ignored, they are here just to be referenced below. constants: num_bindings_column: &num_bindings_column dimension: "num_bindings" pretty_printer: format_string: "%s bindings" num_classes_column: &num_classes_column dimension: "num_classes" pretty_printer: format_string: "%s classes" compiler_name_row: &compiler_name_row dimension: "compiler_name" pretty_printer: format_string: "%s" allowed_unused_benchmarks: - new_delete_run_time - fruit_single_file_compile_time allowed_unused_benchmark_results: - total_max_ram_usage tables: # Fruit vs Boost.DI and "no DI" - name: "Compile time (Clang)" benchmark_filter: benchmark_generation_flags: [] additional_cmake_args: [] compiler: "clang++-10" name: [ "fruit_compile_time", "boost_di_compile_time", "simple_di_compile_time", "simple_di_with_interfaces_compile_time", "simple_di_with_interfaces_and_new_delete_compile_time", ] rows: dimension: "name" pretty_printer: fixed_map: "fruit_compile_time": "Fruit" "boost_di_compile_time": "Boost.DI" "simple_di_compile_time": "Simple DI" "simple_di_with_interfaces_compile_time": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_compile_time": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "compile_time" unit: "seconds" - name: "Compile time (GCC)" benchmark_filter: benchmark_generation_flags: [] additional_cmake_args: [] compiler: "g++-9" name: [ "fruit_compile_time", "boost_di_compile_time", "simple_di_compile_time", "simple_di_with_interfaces_compile_time", "simple_di_with_interfaces_and_new_delete_compile_time", ] rows: dimension: "name" pretty_printer: fixed_map: "fruit_compile_time": "Fruit" "boost_di_compile_time": "Boost.DI" "simple_di_compile_time": "Simple DI" "simple_di_with_interfaces_compile_time": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_compile_time": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "compile_time" unit: "seconds" - name: "Incremental compile time (Clang)" benchmark_filter: benchmark_generation_flags: [] additional_cmake_args: [] compiler: "clang++-10" name: [ "fruit_incremental_compile_time", "boost_di_incremental_compile_time", "simple_di_incremental_compile_time", "simple_di_with_interfaces_incremental_compile_time", "simple_di_with_interfaces_and_new_delete_incremental_compile_time", ] rows: dimension: "name" pretty_printer: fixed_map: "fruit_incremental_compile_time": "Fruit" "boost_di_incremental_compile_time": "Boost.DI" "simple_di_incremental_compile_time": "Simple DI" "simple_di_with_interfaces_incremental_compile_time": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_incremental_compile_time": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "incremental_compile_time" unit: "seconds" - name: "Incremental compile time (GCC)" benchmark_filter: benchmark_generation_flags: [] additional_cmake_args: [] compiler: "g++-9" name: [ "fruit_incremental_compile_time", "boost_di_incremental_compile_time", "simple_di_incremental_compile_time", "simple_di_with_interfaces_incremental_compile_time", "simple_di_with_interfaces_and_new_delete_incremental_compile_time", ] rows: dimension: "name" pretty_printer: fixed_map: "fruit_incremental_compile_time": "Fruit" "boost_di_incremental_compile_time": "Boost.DI" "simple_di_incremental_compile_time": "Simple DI" "simple_di_with_interfaces_incremental_compile_time": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_incremental_compile_time": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "incremental_compile_time" unit: "seconds" - name: "Compile memory (Clang)" benchmark_filter: benchmark_generation_flags: [] additional_cmake_args: [] compiler: "clang++-10" name: [ "fruit_compile_memory", "boost_di_compile_memory", "simple_di_compile_memory", "simple_di_with_interfaces_compile_memory", "simple_di_with_interfaces_and_new_delete_compile_memory", ] rows: dimension: "name" pretty_printer: fixed_map: "fruit_compile_memory": "Fruit" "boost_di_compile_memory": "Boost.DI" "simple_di_compile_memory": "Simple DI" "simple_di_with_interfaces_compile_memory": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_compile_memory": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "max_ram_usage" unit: "bytes" - name: "Compile memory (GCC)" benchmark_filter: benchmark_generation_flags: [] additional_cmake_args: [] compiler: "g++-9" name: [ "fruit_compile_memory", "boost_di_compile_memory", "simple_di_compile_memory", "simple_di_with_interfaces_compile_memory", "simple_di_with_interfaces_and_new_delete_compile_memory", ] rows: dimension: "name" pretty_printer: fixed_map: "fruit_compile_memory": "Fruit" "boost_di_compile_memory": "Boost.DI" "simple_di_compile_memory": "Simple DI" "simple_di_with_interfaces_compile_memory": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_compile_memory": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "max_ram_usage" unit: "bytes" - name: "Startup time (Clang)" benchmark_filter: compiler: "clang++-10" benchmark_generation_flags: [] additional_cmake_args: [] name: [ "fruit_startup_time", "boost_di_startup_time", "simple_di_startup_time", "simple_di_with_interfaces_startup_time", "simple_di_with_interfaces_and_new_delete_startup_time", ] rows: dimension: "name" pretty_printer: fixed_map: "fruit_startup_time": "Fruit" "boost_di_startup_time": "Boost.DI" "simple_di_startup_time": "Simple DI" "simple_di_with_interfaces_startup_time": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_startup_time": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "startup_time" unit: "seconds" - name: "Startup time (GCC)" benchmark_filter: compiler: "g++-9" benchmark_generation_flags: [] additional_cmake_args: [] name: [ "fruit_startup_time", "boost_di_startup_time", "simple_di_startup_time", "simple_di_with_interfaces_startup_time", "simple_di_with_interfaces_and_new_delete_startup_time", ] rows: dimension: "name" pretty_printer: fixed_map: "fruit_startup_time": "Fruit" "boost_di_startup_time": "Boost.DI" "simple_di_startup_time": "Simple DI" "simple_di_with_interfaces_startup_time": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_startup_time": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "startup_time" unit: "seconds" - name: "Startup time with normalized component (Clang)" benchmark_filter: compiler: "clang++-10" benchmark_generation_flags: [] additional_cmake_args: [] name: [ "fruit_startup_time_with_normalized_component", "boost_di_startup_time_with_normalized_component", "simple_di_startup_time_with_normalized_component", "simple_di_with_interfaces_startup_time_with_normalized_component", "simple_di_with_interfaces_and_new_delete_startup_time_with_normalized_component", ] rows: dimension: "name" pretty_printer: fixed_map: "fruit_startup_time_with_normalized_component": "Fruit" "boost_di_startup_time_with_normalized_component": "Boost.DI" "simple_di_startup_time_with_normalized_component": "Simple DI" "simple_di_with_interfaces_startup_time_with_normalized_component": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_startup_time_with_normalized_component": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "fruit_startup_time_with_normalized_component" unit: "seconds" - name: "Startup time with normalized component (GCC)" benchmark_filter: compiler: "g++-9" benchmark_generation_flags: [] additional_cmake_args: [] name: [ "fruit_startup_time_with_normalized_component", "boost_di_startup_time_with_normalized_component", "simple_di_startup_time_with_normalized_component", "simple_di_with_interfaces_startup_time_with_normalized_component", "simple_di_with_interfaces_and_new_delete_startup_time_with_normalized_component", ] rows: dimension: "name" pretty_printer: fixed_map: "fruit_startup_time_with_normalized_component": "Fruit" "boost_di_startup_time_with_normalized_component": "Boost.DI" "simple_di_startup_time_with_normalized_component": "Simple DI" "simple_di_with_interfaces_startup_time_with_normalized_component": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_startup_time_with_normalized_component": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "fruit_startup_time_with_normalized_component" unit: "seconds" - name: "Component normalization time (Clang)" benchmark_filter: compiler: "clang++-10" benchmark_generation_flags: [] additional_cmake_args: [] rows: dimension: "name" pretty_printer: fixed_map: "fruit_run_time": "Fruit" "boost_di_run_time": "Boost.DI" "simple_di_incremental_run_time": "Simple DI" "simple_di_with_interfaces_incremental_run_time": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_incremental_run_time": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "componentNormalizationTime" unit: "seconds" - name: "Component normalization time (GCC)" benchmark_filter: compiler: "g++-9" benchmark_generation_flags: [] additional_cmake_args: [] rows: dimension: "name" pretty_printer: fixed_map: "fruit_run_time": "Fruit" "boost_di_run_time": "Boost.DI" "simple_di_incremental_run_time": "Simple DI" "simple_di_with_interfaces_incremental_run_time": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_incremental_run_time": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "componentNormalizationTime" unit: "seconds" - name: "Per-request time (Clang)" benchmark_filter: compiler: "clang++-10" benchmark_generation_flags: [] additional_cmake_args: [] rows: dimension: "name" pretty_printer: fixed_map: "fruit_run_time": "Fruit" "boost_di_run_time": "Boost.DI" "simple_di_run_time": "Simple DI" "simple_di_with_interfaces_run_time": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_run_time": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "Total per request" unit: "seconds" - name: "Per-request time (GCC)" benchmark_filter: compiler: "g++-9" benchmark_generation_flags: [] additional_cmake_args: [] rows: dimension: "name" pretty_printer: fixed_map: "fruit_run_time": "Fruit" "boost_di_run_time": "Boost.DI" "simple_di_run_time": "Simple DI" "simple_di_with_interfaces_run_time": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_run_time": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "Total per request" unit: "seconds" - name: "Executable size (stripped, Clang)" benchmark_filter: compiler: "clang++-10" benchmark_generation_flags: [] additional_cmake_args: [] rows: dimension: "name" pretty_printer: fixed_map: "fruit_executable_size": "Fruit" "boost_di_executable_size": "Boost.DI" "simple_di_executable_size": "Simple DI" "simple_di_with_interfaces_executable_size": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_executable_size": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "num_bytes" unit: "bytes" - name: "Executable size (stripped, GCC)" benchmark_filter: compiler: "g++-9" benchmark_generation_flags: [] additional_cmake_args: [] rows: dimension: "name" pretty_printer: fixed_map: "fruit_executable_size": "Fruit" "boost_di_executable_size": "Boost.DI" "simple_di_executable_size": "Simple DI" "simple_di_with_interfaces_executable_size": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_executable_size": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "num_bytes" unit: "bytes" - name: "Executable size (stripped, no exceptions/RTTI, Clang)" benchmark_filter: compiler: "clang++-10" benchmark_generation_flags: [] additional_cmake_args: ['-DCMAKE_CXX_FLAGS=-fno-exceptions -fno-rtti'] rows: dimension: "name" pretty_printer: fixed_map: "fruit_executable_size_without_exceptions_and_rtti": "Fruit" "boost_di_executable_size_without_exceptions_and_rtti": "Boost.DI" "simple_di_executable_size_without_exceptions_and_rtti": "Simple DI" "simple_di_with_interfaces_executable_size_without_exceptions_and_rtti": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_executable_size_without_exceptions_and_rtti": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "num_bytes" unit: "bytes" - name: "Executable size (stripped, no exceptions/RTTI, GCC)" benchmark_filter: compiler: "g++-9" benchmark_generation_flags: [] additional_cmake_args: ['-DCMAKE_CXX_FLAGS=-fno-exceptions -fno-rtti'] rows: dimension: "name" pretty_printer: fixed_map: "fruit_executable_size_without_exceptions_and_rtti": "Fruit" "boost_di_executable_size_without_exceptions_and_rtti": "Boost.DI" "simple_di_executable_size_without_exceptions_and_rtti": "Simple DI" "simple_di_with_interfaces_executable_size_without_exceptions_and_rtti": "Simple DI w/ interfaces" "simple_di_with_interfaces_and_new_delete_executable_size_without_exceptions_and_rtti": "Simple DI w/ interfaces, new/delete" columns: *num_classes_column results: dimension: "num_bytes" unit: "bytes" # Fruit: performance by default and with various compiler options. - name: "Fruit compile time (Clang)" benchmark_filter: benchmark_generation_flags: [] compiler: "clang++-10" name: "fruit_compile_time" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "compile_time" unit: "seconds" - name: "Fruit compile time (GCC)" benchmark_filter: benchmark_generation_flags: [] compiler: "g++-9" name: "fruit_compile_time" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "compile_time" unit: "seconds" - name: "Fruit incremental compile time (Clang)" benchmark_filter: benchmark_generation_flags: [] compiler: "clang++-10" name: "fruit_incremental_compile_time" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "incremental_compile_time" unit: "seconds" - name: "Fruit incremental compile time (GCC)" benchmark_filter: benchmark_generation_flags: [] compiler: "g++-9" name: "fruit_incremental_compile_time" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "incremental_compile_time" unit: "seconds" - name: "Fruit compile memory (Clang)" benchmark_filter: benchmark_generation_flags: [] compiler: "clang++-10" name: "fruit_compile_memory" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "max_ram_usage" unit: "bytes" - name: "Fruit compile memory (GCC)" benchmark_filter: benchmark_generation_flags: [] compiler: "g++-9" name: "fruit_compile_memory" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "max_ram_usage" unit: "bytes" - name: "Fruit startup time (Clang)" benchmark_filter: compiler: "clang++-10" benchmark_generation_flags: [] name: "fruit_startup_time" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "startup_time" unit: "seconds" - name: "Fruit startup time (GCC)" benchmark_filter: compiler: "g++-9" benchmark_generation_flags: [] name: "fruit_startup_time" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "startup_time" unit: "seconds" - name: "Fruit startup time with normalized component (Clang)" benchmark_filter: compiler: "clang++-10" benchmark_generation_flags: [] name: "fruit_startup_time_with_normalized_component" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "startup_time" unit: "seconds" - name: "Fruit startup time with normalized component (GCC)" benchmark_filter: compiler: "g++-9" benchmark_generation_flags: [] name: "fruit_startup_time_with_normalized_component" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "startup_time" unit: "seconds" - name: "Fruit component normalization time (Clang)" benchmark_filter: compiler: "clang++-10" benchmark_generation_flags: [] rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "componentNormalizationTime" unit: "seconds" - name: "Fruit component normalization time (GCC)" benchmark_filter: compiler: "g++-9" benchmark_generation_flags: [] rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "componentNormalizationTime" unit: "seconds" - name: "Fruit per-request time (Clang)" benchmark_filter: compiler: "clang++-10" benchmark_generation_flags: [] name: "fruit_run_time" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "Total per request" unit: "seconds" - name: "Fruit per-request time (GCC)" benchmark_filter: compiler: "g++-9" benchmark_generation_flags: [] name: "fruit_run_time" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "Total per request" unit: "seconds" - name: "Fruit executable size (stripped, Clang)" benchmark_filter: compiler: "clang++-10" benchmark_generation_flags: [] name: "fruit_executable_size" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "num_bytes" unit: "bytes" - name: "Fruit executable size (stripped, GCC)" benchmark_filter: compiler: "g++-9" benchmark_generation_flags: [] name: "fruit_executable_size" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple []: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False"]: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False"]: "without boost" columns: *num_classes_column results: dimension: "num_bytes" unit: "bytes" - name: "Fruit executable size (stripped, no exceptions/RTTI, Clang)" benchmark_filter: compiler: "clang++-10" benchmark_generation_flags: [] name: "fruit_executable_size_without_exceptions_and_rtti" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple ['-DCMAKE_CXX_FLAGS=-fno-exceptions -fno-rtti']: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False", '-DCMAKE_CXX_FLAGS=-fno-exceptions -fno-rtti']: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False", '-DCMAKE_CXX_FLAGS=-fno-exceptions -fno-rtti']: "without boost" columns: *num_classes_column results: dimension: "num_bytes" unit: "bytes" - name: "Fruit executable size (stripped, no exceptions/RTTI, GCC)" benchmark_filter: compiler: "g++-9" benchmark_generation_flags: [] name: "fruit_executable_size_without_exceptions_and_rtti" rows: dimension: "additional_cmake_args" pretty_printer: fixed_map: !!python/tuple ['-DCMAKE_CXX_FLAGS=-fno-exceptions -fno-rtti']: "(defaults)" !!python/tuple ["-DBUILD_SHARED_LIBS=False", '-DCMAKE_CXX_FLAGS=-fno-exceptions -fno-rtti']: "statically linked" !!python/tuple ["-DFRUIT_USES_BOOST=False", '-DCMAKE_CXX_FLAGS=-fno-exceptions -fno-rtti']: "without boost" columns: *num_classes_column results: dimension: "num_bytes" unit: "bytes"