From 10cc64ec3f7b4608d8f7b9614742de450196c9be Mon Sep 17 00:00:00 2001 From: Hieu Hoang Date: Thu, 14 Jan 2016 19:45:34 +0000 Subject: [PATCH] save cache in descending order --- moses/TranslationModel/ProbingPT/storing.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/moses/TranslationModel/ProbingPT/storing.cpp b/moses/TranslationModel/ProbingPT/storing.cpp index 73dc92ba8..c389e75b8 100644 --- a/moses/TranslationModel/ProbingPT/storing.cpp +++ b/moses/TranslationModel/ProbingPT/storing.cpp @@ -190,15 +190,23 @@ void serialize_cache(std::priority_queue, Ca const std::string &path, float totalSourceCount) { + std::vector vec(cache.size()); + + size_t ind = cache.size() - 1; + while (!cache.empty()) { + const CacheItem *item = cache.top(); + vec[ind] = item; + cache.pop(); + --ind; + } + std::ofstream os (path.c_str()); os << totalSourceCount << std::endl; - while (!cache.empty()) { - const CacheItem *item = cache.top(); + for (size_t i = 0; i < vec.size(); ++i) { + const CacheItem *item = vec[i]; os << item->count << "\t" << item->source << std::endl; - delete item; - cache.pop(); } os.close();