diff --git a/features/testbot/traffic_speeds.feature b/features/testbot/traffic_speeds.feature index d89c81343..616668599 100644 --- a/features/testbot/traffic_speeds.feature +++ b/features/testbot/traffic_speeds.feature @@ -167,4 +167,3 @@ Feature: Traffic - speeds And the data has been extracted When I try to run "osrm-contract --segment-speed-file {speeds_file} {processed_file}" And it should exit successfully - diff --git a/include/updater/csv_file_parser.hpp b/include/updater/csv_file_parser.hpp index a1d45c0bd..f3221672b 100644 --- a/include/updater/csv_file_parser.hpp +++ b/include/updater/csv_file_parser.hpp @@ -8,6 +8,7 @@ #include "util/log.hpp" #include +#include #include #include @@ -62,9 +63,9 @@ template struct CSVFilesParser // and unique them on key to keep only the value with the largest file index // and the largest line number in a file. // The operands order is swapped to make descending ordering on (key, source) - std::stable_sort(begin(lookup), end(lookup), [](const auto &lhs, const auto &rhs) { - return rhs.first < lhs.first || - (rhs.first == lhs.first && rhs.second.source < lhs.second.source); + tbb::parallel_sort(begin(lookup), end(lookup), [](const auto &lhs, const auto &rhs) { + return std::tie(rhs.first, rhs.second.source) < + std::tie(lhs.first, lhs.second.source); }); // Unique only on key to take the source precedence into account and remove duplicates.