Refine logging output
This commit is contained in:
parent
de938df560
commit
1794185d43
@ -485,7 +485,6 @@ void EdgeBasedGraphFactory::GenerateEdgeExpandedEdges(
|
||||
util::UnbufferedLog log;
|
||||
|
||||
const NodeID node_count = m_node_based_graph.GetNumberOfNodes();
|
||||
util::Percent progress(log, node_count);
|
||||
|
||||
// Because we write TurnIndexBlock data as we go, we'll
|
||||
// buffer them into groups of 1000 to reduce the syscall
|
||||
@ -495,11 +494,9 @@ void EdgeBasedGraphFactory::GenerateEdgeExpandedEdges(
|
||||
std::vector<lookup::TurnIndexBlock> turn_indexes_write_buffer;
|
||||
turn_indexes_write_buffer.reserve(TURN_INDEX_WRITE_BUFFER_SIZE);
|
||||
|
||||
// TODO: update comments block
|
||||
// This struct is the buffered output of the `processor_stage`. This data is
|
||||
// appended to the various output arrays/files by the `output_stage`.
|
||||
// same as IntersectionData, but grouped with edge to allow sorting after creating. Edges
|
||||
// can be out of order
|
||||
// same as IntersectionData, but grouped with edge to allow sorting after creating.
|
||||
struct EdgeWithData
|
||||
{
|
||||
EdgeBasedEdge edge;
|
||||
@ -1184,13 +1181,12 @@ void EdgeBasedGraphFactory::GenerateEdgeExpandedEdges(
|
||||
});
|
||||
|
||||
// Last part of the pipeline puts all the calculated data into the serial buffers
|
||||
std::uint64_t routing_nodes_completed = 0;
|
||||
util::Percent routing_progress(log, node_count);
|
||||
std::vector<EdgeWithData> delayed_data;
|
||||
tbb::filter_t<EdgesPipelineBufferPtr, void> output_stage(
|
||||
tbb::filter::serial_in_order, [&](auto buffer) {
|
||||
|
||||
routing_nodes_completed += buffer->nodes_processed;
|
||||
progress.PrintStatus(routing_nodes_completed);
|
||||
routing_progress.PrintAddition(buffer->nodes_processed);
|
||||
|
||||
// Copy data from local buffers into global EBG data
|
||||
std::for_each(
|
||||
@ -1215,14 +1211,13 @@ void EdgeBasedGraphFactory::GenerateEdgeExpandedEdges(
|
||||
});
|
||||
|
||||
// Last part of the pipeline puts all the calculated data into the serial buffers
|
||||
std::uint64_t guidance_nodes_completed = 0;
|
||||
util::Percent guidance_progress(log, node_count);
|
||||
std::vector<TurnData> delayed_turn_data;
|
||||
|
||||
tbb::filter_t<TurnsPipelineBufferPtr, void> guidance_output_stage(
|
||||
tbb::filter::serial_in_order, [&](auto buffer) {
|
||||
|
||||
guidance_nodes_completed += buffer->nodes_processed;
|
||||
progress.PrintStatus(guidance_nodes_completed);
|
||||
guidance_progress.PrintAddition(buffer->nodes_processed);
|
||||
|
||||
// Guidance data
|
||||
std::for_each(buffer->continuous_turn_data.begin(),
|
||||
@ -1246,19 +1241,13 @@ void EdgeBasedGraphFactory::GenerateEdgeExpandedEdges(
|
||||
current_node = 0;
|
||||
tbb::parallel_pipeline(tbb::task_scheduler_init::default_num_threads() * 5,
|
||||
generator_stage & processor_stage & output_stage);
|
||||
log << std::endl;
|
||||
|
||||
util::Log() << "Generating guidance turns ";
|
||||
current_node = 0;
|
||||
tbb::parallel_pipeline(tbb::task_scheduler_init::default_num_threads() * 5,
|
||||
generator_stage & guidance_stage & guidance_output_stage);
|
||||
|
||||
// TODO: remove sorting below
|
||||
// std::sort(delayed_data.begin(), delayed_data.end(), [](auto const &lhs, auto
|
||||
// const &rhs)
|
||||
// {
|
||||
// return lhs.edge.source < rhs.edge.source;
|
||||
// });
|
||||
|
||||
// NOTE: buffer.delayed_data and buffer.delayed_turn_data have the same index
|
||||
std::for_each(delayed_data.begin(), delayed_data.end(), transfer_data);
|
||||
std::for_each(delayed_turn_data.begin(),
|
||||
|
Loading…
Reference in New Issue
Block a user