Мы используем Google (micro) Benchmark (https://github.com/google/benchmark), чтобы сделать бенчмаркинг. Когда мы отображаем результаты, бенчмарк отображает все заголовки (даже неиспользуемые). Результаты бенчмарка отображаются с помощью csv_reporter (https://github.com/google/benchmark/blob/master/src/csv_reporter.cc). Я вижу в коде (в строке 71), что он перебирает все заголовки (элементы, объявление в строке 34) и просто распечатывает их.
34 std::vector<std::string> elements = {
35 "name", "iterations", "real_time", "cpu_time",
36 "time_unit", "bytes_per_second", "items_per_second", "label",
37 "error_occurred", "error_message"};
38 }
...
71 for (auto B = elements.begin(); B != elements.end();) {
72 Out << *B++;
73 if (B != elements.end()) Out << ",";
74 }
Я не могу найти способ отключитьнеиспользуемые заголовки, и, таким образом, эталонный тест выглядит не очень хорошо. Вот как выглядит мой результат теста:
name iterations real_time cpu_time time_unit bytes_per_second items_per_second label error_occurred error_message "CustomCounter1" "CustomCounter2"
"randomname" 1 1059.26 1062.5 ms
Итак, как вы можете видеть, есть много неиспользуемых столбцов без причины. Тем не менее, я хотел бы сохранить пользовательские счетчики в конце, так как они содержат данные, которые я отображаю, я просто не могу поместить их здесь в разметке.
А именно, я хотел бы удалить эти заголовки: bytes_per_second, items_per_second, метка, error_occurred, error_message .