@@ -173,25 +173,45 @@ struct DetailedTimings {
173173 double step_size_adjustment_time = 0.0 ;
174174 double other_time = 0.0 ;
175175
176- void print (const std::string& solver_name) const {
177- std::cout << " \n === " << solver_name << " Detailed Timings ===" << std::endl;
178- std::cout << " Total time: " << total_time << " s" << std::endl;
179- std::cout << " Iterate update: " << iterate_update_time
180- << " s (" << (iterate_update_time/total_time*100 ) << " %)" << std::endl;
181- std::cout << " - Matrix multiply: " << matrix_multiply_time
182- << " s (" << (matrix_multiply_time/total_time*100 ) << " %)" << std::endl;
183- std::cout << " - Projection: " << projection_time
184- << " s (" << (projection_time/total_time*100 ) << " %)" << std::endl;
185- std::cout << " - Step size adjust: " << step_size_adjustment_time
186- << " s (" << (step_size_adjustment_time/total_time*100 ) << " %)" << std::endl;
187- std::cout << " Convergence check: " << convergence_check_time
188- << " s (" << (convergence_check_time/total_time*100 ) << " %)" << std::endl;
189- std::cout << " Restart check: " << restart_check_time
190- << " s (" << (restart_check_time/total_time*100 ) << " %)" << std::endl;
191- std::cout << " Average iterate comp: " << average_iterate_time
192- << " s (" << (average_iterate_time/total_time*100 ) << " %)" << std::endl;
193- std::cout << " Other: " << other_time
194- << " s (" << (other_time/total_time*100 ) << " %)" << std::endl;
176+ void print (const std::string& solver_name,
177+ const HighsLogOptions log_options) const {
178+ highsLogUser (log_options, HighsLogType::kInfo ,
179+ " \n === %s Detailed Timings ===\n " ,
180+ solver_name.c_str ());
181+ highsLogUser (log_options, HighsLogType::kInfo ,
182+ " Total time: %6.2f s\n " , total_time);
183+ highsLogUser (log_options, HighsLogType::kInfo ,
184+ " Iterate update: %6.2f s (%3.0f \%)\n " ,
185+ iterate_update_time,
186+ iterate_update_time/total_time*100 );
187+ highsLogUser (log_options, HighsLogType::kInfo ,
188+ " - Matrix multiply: %6.2f s (%3.0f \%)\n " ,
189+ matrix_multiply_time,
190+ matrix_multiply_time/total_time*100 );
191+ highsLogUser (log_options, HighsLogType::kInfo ,
192+ " - Projection: %6.2f s (%3.0f \%)\n " ,
193+ projection_time,
194+ projection_time/total_time*100 );
195+ highsLogUser (log_options, HighsLogType::kInfo ,
196+ " - Step size adjust: %6.2f s (%3.0f \%)\n " ,
197+ step_size_adjustment_time,
198+ step_size_adjustment_time/total_time*100 );
199+ highsLogUser (log_options, HighsLogType::kInfo ,
200+ " Convergence check: %6.2f s (%3.0f \%)\n " ,
201+ convergence_check_time,
202+ convergence_check_time/total_time*100 );
203+ highsLogUser (log_options, HighsLogType::kInfo ,
204+ " Restart check: %6.2f s (%3.0f \%)\n " ,
205+ restart_check_time,
206+ restart_check_time/total_time*100 );
207+ highsLogUser (log_options, HighsLogType::kInfo ,
208+ " Average iterate comp: %6.2f s (%3.0f \%)\n " ,
209+ average_iterate_time,
210+ average_iterate_time/total_time*100 );
211+ highsLogUser (log_options, HighsLogType::kInfo ,
212+ " Other: %6.2f s (%3.0f \%)\n " ,
213+ other_time,
214+ other_time/total_time*100 );
195215 }
196216};
197217
0 commit comments