@@ -59,27 +59,29 @@ std::string get_category_from_type(RegionType type) {
5959 }
6060}
6161
62- void print_all_timings_summary (const std::vector<TimingInfo>& all_timings) {
63- std::cout << " \n ==== TIMING SUMMARY ====\n " ;
64- std::cout << " | Category | Name | Type "
65- " | Start (ms) | End (ms) | Duration (ms) |\n " ;
66- std::cout << " |------------|----------------------------------|--------------"
67- " --|-------------------|-------------------|---------------|\n " ;
68- for (const auto & timing_info : all_timings) {
69- auto start_ms = get_epoch_ms (timing_info.start_time );
70- auto end_ms = get_epoch_ms (timing_info.end_time );
62+ void print_all_timings_summary (std::ostream& os,
63+ std::vector<TimingInfo>::const_iterator begin,
64+ std::vector<TimingInfo>::const_iterator end) {
65+ os << " \n ==== TIMING SUMMARY ====\n " ;
66+ os << " | Category | Name | Type "
67+ " | Start (ms) | End (ms) | Duration (ms) |\n " ;
68+ os << " |------------|----------------------------------|--------------"
69+ " --|-------------------|-------------------|---------------|\n " ;
70+ for (auto it = begin; it != end; ++it) {
71+ const auto & timing_info = *it;
72+ auto start_ms = get_epoch_ms (timing_info.start_time );
73+ auto end_ms = get_epoch_ms (timing_info.end_time );
7174 auto duration_ms =
7275 get_duration_ms (timing_info.start_time , timing_info.end_time );
7376 std::string type_str = region_type_to_string (timing_info.type );
7477 std::string category = get_category_from_type (timing_info.type );
75- std::cout << " | " << std::setw (COLUMN_WIDTH_CATEGORY) << std::left
76- << category << " | " << std::setw (COLUMN_WIDTH_NAME) << std::left
77- << timing_info.name << " | " << std::setw (COLUMN_WIDTH_TYPE)
78- << std::left << type_str << " | " << std::setw (COLUMN_WIDTH_TIME)
79- << std::right << start_ms << " | " << std::setw (COLUMN_WIDTH_TIME)
80- << std::right << end_ms << " | "
81- << std::setw (COLUMN_WIDTH_DURATION) << std::right << duration_ms
82- << " |\n " ;
78+ os << " | " << std::setw (COLUMN_WIDTH_CATEGORY) << std::left << category
79+ << " | " << std::setw (COLUMN_WIDTH_NAME) << std::left << timing_info.name
80+ << " | " << std::setw (COLUMN_WIDTH_TYPE) << std::left << type_str
81+ << " | " << std::setw (COLUMN_WIDTH_TIME) << std::right << start_ms
82+ << " | " << std::setw (COLUMN_WIDTH_TIME) << std::right << end_ms << " | "
83+ << std::setw (COLUMN_WIDTH_DURATION) << std::right << duration_ms
84+ << " |\n " ;
8385 }
8486}
8587
0 commit comments