33#include < ranges>
44
55#include " utl/sorted_diff.h"
6+ #include " utl/timing.h"
67
78#include " nigiri/routing/get_earliest_transport.h"
89#include " nigiri/rt/frun.h"
@@ -280,6 +281,7 @@ routing_result pong(timetable const& tt,
280281 // ====
281282 // PING
282283 // ----
284+ UTL_START_TIMING (ping_lb);
283285 auto ping_lb = std::vector<std::uint16_t >{};
284286 dijkstra (tt, q,
285287 (kFwd ? tt.fwd_search_lb_graph_ [q.prf_idx_ ]
@@ -291,6 +293,7 @@ routing_result pong(timetable const& tt,
291293 : &(kFwd ? rtt->fwd_search_lb_graph_
292294 : rtt->bwd_search_lb_graph_ )),
293295 ping_lb);
296+ UTL_STOP_TIMING (ping_lb);
294297
295298 auto ping_dist_to_dest = std::vector<std::uint16_t >{};
296299 auto ping_is_dest = bitvec{};
@@ -323,6 +326,7 @@ routing_result pong(timetable const& tt,
323326 // ----
324327 q.flip_dir ();
325328
329+ UTL_START_TIMING (pong_lb);
326330 auto pong_lb = std::vector<std::uint16_t >{};
327331 dijkstra (tt, q,
328332 (kFwd ? tt.bwd_search_lb_graph_ [q.prf_idx_ ]
@@ -334,6 +338,7 @@ routing_result pong(timetable const& tt,
334338 : &(kFwd ? rtt->bwd_search_lb_graph_
335339 : rtt->fwd_search_lb_graph_ )),
336340 pong_lb);
341+ UTL_STOP_TIMING (pong_lb);
337342
338343 auto pong_dist_to_dest = std::vector<std::uint16_t >{};
339344 auto pong_is_dest = bitvec{};
@@ -368,10 +373,13 @@ routing_result pong(timetable const& tt,
368373 // >> PLAY!
369374 // --------
370375 auto starts = std::vector<start>{};
371- auto result = routing_result{.journeys_ = &s_state.results_ ,
372- .interval_ = search_interval,
373- .search_stats_ = {},
374- .algo_stats_ = {}};
376+ auto result = routing_result{
377+ .journeys_ = &s_state.results_ ,
378+ .interval_ = search_interval,
379+ .search_stats_ = {.lb_time_ =
380+ static_cast <std::uint64_t >(UTL_TIMING_MS (ping_lb)) +
381+ static_cast <std::uint64_t >(UTL_TIMING_MS (pong_lb))},
382+ .algo_stats_ = {}};
375383 auto start_time =
376384 kFwd ? search_interval.from_ : search_interval.to_ - duration_t {1 };
377385 auto const end_time =
0 commit comments