From 797457330ef7807f8bc674e4586cbeff5d655316 Mon Sep 17 00:00:00 2001 From: Anatoly Serdtcev Date: Mon, 11 Nov 2019 15:00:34 +0300 Subject: [PATCH] [generator:preprocess] Optimize o5m reading: readahead usage --- generator/osm_source.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/generator/osm_source.cpp b/generator/osm_source.cpp index 920b705..b0d216c 100644 --- a/generator/osm_source.cpp +++ b/generator/osm_source.cpp @@ -23,6 +23,8 @@ #include #include +#include + #include "defines.hpp" using namespace std; @@ -251,6 +253,7 @@ void BuildIntermediateDataFromO5M( auto sourceMap = boost::iostreams::mapped_file_source{filename}; if (!sourceMap.is_open()) MYTHROW(Writer::OpenException, ("Failed to open", filename)); + ::madvise(const_cast(sourceMap.data()), sourceMap.size(), MADV_SEQUENTIAL); constexpr size_t chunkSize = 10'000; std::vector threads;