86static void WriteLine(std::ostream& os,
bool machine_format,
const char* name,
90 const size_t kBufferSize = 128;
91 char buffer[kBufferSize];
93 double ms = stats.delta_.InMillisecondsF();
94 double percent = stats.delta_.PercentOf(total_stats.
delta_);
96 static_cast<double>(stats.total_allocated_bytes_ * 100) /
99 static_cast<double>(stats.output_graph_size_) / stats.input_graph_size_;
100 double mops_per_s = (stats.output_graph_size_ / 1000000.0) / (ms / 1000.0);
102 if (machine_format) {
103 base::OS::SNPrintF(buffer, kBufferSize,
104 "\"%s_%s_time\"=%.3f\n\"%s_%s_space\"=%zu", compiler,
105 name, ms, compiler, name, stats.total_allocated_bytes_);
108 if (stats.output_graph_size_ != 0) {
111 "%34s %10.3f (%4.1f%%) %10zu (%4.1f%%) %10zu %10zu %5.3f %6.2f",
112 name, ms, percent, stats.total_allocated_bytes_, size_percent,
113 stats.max_allocated_bytes_, stats.absolute_max_allocated_bytes_,
118 "%34s %10.3f (%4.1f%%) %10zu (%4.1f%%) %10zu %10zu ",
119 name, ms, percent, stats.total_allocated_bytes_, size_percent,
120 stats.max_allocated_bytes_, stats.absolute_max_allocated_bytes_);
124 if (!stats.function_name_.empty()) {
125 os <<
" " << stats.function_name_.c_str();
156 using SortedPhaseKinds =
157 std::vector<CompilationStatistics::PhaseKindMap::const_iterator>;
158 SortedPhaseKinds sorted_phase_kinds(s.phase_kind_map_.size());
159 for (
auto it = s.phase_kind_map_.begin(); it != s.phase_kind_map_.end();
161 sorted_phase_kinds[it->second.insert_order_] = it;
165 std::vector<CompilationStatistics::PhaseMap::const_iterator>;
166 SortedPhases sorted_phases(s.phase_map_.size());
167 for (
auto it = s.phase_map_.begin(); it != s.phase_map_.end(); ++it) {
168 sorted_phases[it->second.insert_order_] = it;
172 for (
const auto& phase_kind_it : sorted_phase_kinds) {
173 const auto& phase_kind_name = phase_kind_it->first;
175 for (
const auto& phase_it : sorted_phases) {
176 const auto& phase_stats = phase_it->second;
177 if (phase_stats.phase_kind_name_ != phase_kind_name)
continue;
178 const auto& phase_name = phase_it->first;
180 phase_stats, s.total_stats_);
184 const auto& phase_kind_stats = phase_kind_it->second;
186 phase_kind_stats, s.total_stats_);
196 os <<
"\"" << ps.
compiler <<
"_totals_count\"=" << s.total_stats_.count_;
static void WriteLine(std::ostream &os, bool machine_format, const char *name, const char *compiler, const CompilationStatistics::BasicStats &stats, const CompilationStatistics::BasicStats &total_stats)