From f1bc651394d77bdc21e5efcf83e557529120f196 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Hern=C3=A1ndez=20Cordero?= Date: Mon, 28 Sep 2020 20:07:19 +0200 Subject: [PATCH] Improved rcl_yaml_param_parser benchmark test (#810) Signed-off-by: ahcorde --- .../test/benchmark/benchmark_variant.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/rcl_yaml_param_parser/test/benchmark/benchmark_variant.cpp b/rcl_yaml_param_parser/test/benchmark/benchmark_variant.cpp index 0c15962..ee13260 100644 --- a/rcl_yaml_param_parser/test/benchmark/benchmark_variant.cpp +++ b/rcl_yaml_param_parser/test/benchmark/benchmark_variant.cpp @@ -43,6 +43,8 @@ BENCHMARK_F(PerformanceTest, bool_copy_variant)(benchmark::State & st) rcutils_allocator_t allocator = rcutils_get_default_allocator(); src_variant.bool_value = &bool_value; + reset_heap_counters(); + for (auto _ : st) { if (!rcl_yaml_variant_copy(&dest_variant, &src_variant, allocator)) { st.SkipWithError(rcutils_get_error_string().str); @@ -60,6 +62,8 @@ BENCHMARK_F(PerformanceTest, int_copy_variant)(benchmark::State & st) rcutils_allocator_t allocator = rcutils_get_default_allocator(); src_variant.integer_value = &int_value; + reset_heap_counters(); + for (auto _ : st) { if (!rcl_yaml_variant_copy(&dest_variant, &src_variant, allocator)) { st.SkipWithError(rcutils_get_error_string().str); @@ -111,7 +115,6 @@ BENCHMARK_F(PerformanceTest, string_copy_variant)(benchmark::State & st) BENCHMARK_F(PerformanceTest, array_bool_copy_variant)(benchmark::State & st) { - bool bool_arry[kSize]; rcl_variant_t src_variant{}; rcl_variant_t dest_variant{}; rcutils_allocator_t allocator = rcutils_get_default_allocator(); @@ -130,9 +133,6 @@ BENCHMARK_F(PerformanceTest, array_bool_copy_variant)(benchmark::State & st) dest_variant.bool_array_value = nullptr; }); src_variant.bool_array_value->size = kSize; - for (size_t i = 0; i < kSize; ++i) { - src_variant.bool_array_value->values[i] = bool_arry[i]; - } reset_heap_counters(); @@ -147,7 +147,6 @@ BENCHMARK_F(PerformanceTest, array_bool_copy_variant)(benchmark::State & st) BENCHMARK_F(PerformanceTest, array_int_copy_variant)(benchmark::State & st) { - int int_arry[kSize]; rcl_variant_t src_variant{}; rcl_variant_t dest_variant{}; rcutils_allocator_t allocator = rcutils_get_default_allocator(); @@ -166,9 +165,6 @@ BENCHMARK_F(PerformanceTest, array_int_copy_variant)(benchmark::State & st) dest_variant.integer_array_value = nullptr; }); src_variant.integer_array_value->size = kSize; - for (size_t i = 0; i < kSize; ++i) { - src_variant.integer_array_value->values[i] = int_arry[i]; - } reset_heap_counters(); @@ -183,7 +179,6 @@ BENCHMARK_F(PerformanceTest, array_int_copy_variant)(benchmark::State & st) BENCHMARK_F(PerformanceTest, array_double_copy_variant)(benchmark::State & st) { - double double_arry[kSize]; rcl_variant_t src_variant{}; rcl_variant_t dest_variant{}; rcutils_allocator_t allocator = rcutils_get_default_allocator(); @@ -202,9 +197,6 @@ BENCHMARK_F(PerformanceTest, array_double_copy_variant)(benchmark::State & st) dest_variant.double_array_value = nullptr; }); src_variant.double_array_value->size = kSize; - for (size_t i = 0; i < kSize; ++i) { - src_variant.double_array_value->values[i] = double_arry[i]; - } reset_heap_counters(); @@ -238,12 +230,14 @@ BENCHMARK_F(PerformanceTest, array_string_copy_variant)(benchmark::State & st) st.SkipWithError(rcutils_get_error_string().str); } src_variant.string_array_value->size = kSize; + for (size_t i = 0; i < kSize; i++) { src_variant.string_array_value->data[i] = rcutils_strdup("string", allocator); if (src_variant.string_array_value->data[i] == NULL) { st.SkipWithError(rcutils_get_error_string().str); } } + reset_heap_counters(); for (auto _ : st) {