@@ -247,8 +247,15 @@ struct pending_threaded_processor : public pending_processor
247247 void enqueue_relation (osmid_t id) override { m_queue.emplace (id); }
248248
249249 template <typename FUNCTION>
250- void process_queue (FUNCTION &&function)
250+ void process_queue (char const *type, FUNCTION &&function)
251251 {
252+ auto const ids_queued = m_queue.size ();
253+
254+ fmt::print (stderr, " \n Going over pending {}s...\n " , type);
255+ fmt::print (stderr, " \t {} {}s are pending\n " , ids_queued, type);
256+ fmt::print (stderr, " \n Using {} helper-processes\n " , m_clones.size ());
257+
258+ util::timer_t timer;
252259 std::vector<std::future<void >> workers;
253260
254261 for (auto const &clone : m_clones) {
@@ -278,48 +285,25 @@ struct pending_threaded_processor : public pending_processor
278285 clone_output->commit ();
279286 }
280287 }
281- }
282288
283- void process_ways () override
284- {
285- auto const ids_queued = m_queue.size ();
286-
287- fmt::print (stderr, " \n Going over pending ways...\n " );
288- fmt::print (stderr, " \t {} ways are pending\n " , ids_queued);
289- fmt::print (stderr, " \n Using {} helper-processes\n " , m_clones.size ());
290-
291- util::timer_t timer;
292- process_queue (do_ways);
293289 timer.stop ();
294290
295- fmt::print (stderr, " \r Finished processing {} ways in {} s\n\n " ,
296- ids_queued, timer.elapsed ());
291+ fmt::print (stderr, " \r Finished processing {} {}s in {} s\n\n " ,
292+ ids_queued, type, timer.elapsed ());
293+
297294 if (timer.elapsed () > 0 ) {
298- fmt::print (
299- stderr, " {} Pending ways took {}s at a rate of {:.2f}/s\n " ,
300- ids_queued, timer.elapsed (), timer.per_second (ids_queued));
295+ fmt::print (stderr,
296+ " {} pending {}s took {}s at a rate of {:.2f}/s\n " ,
297+ ids_queued, type, timer.elapsed (),
298+ timer.per_second (ids_queued));
301299 }
302300 }
303301
302+ void process_ways () override { process_queue (" way" , do_ways); }
303+
304304 void process_relations () override
305305 {
306- auto const ids_queued = m_queue.size ();
307-
308- fmt::print (stderr, " \n Going over pending relations...\n " );
309- fmt::print (stderr, " \t {} relations are pending\n " , ids_queued);
310- fmt::print (stderr, " \n Using {} helper-processes\n " , m_clones.size ());
311-
312- util::timer_t timer;
313- process_queue (do_rels);
314- timer.stop ();
315-
316- fmt::print (stderr, " \r Finished processing {} relations in {} s\n\n " ,
317- ids_queued, timer.elapsed ());
318- if (timer.elapsed () > 0 ) {
319- fmt::print (
320- stderr, " {} Pending relations took {}s at a rate of {:.2f}/s\n " ,
321- ids_queued, timer.elapsed (), timer.per_second (ids_queued));
322- }
306+ process_queue (" relation" , do_rels);
323307
324308 // collect all expiry tree informations together into one
325309 for (auto const &clone : m_clones) {
0 commit comments