From 874d8aeb900f7443b10ae2c8cfa617caa97f8d29 Mon Sep 17 00:00:00 2001 From: vng Date: Tue, 9 Oct 2012 02:56:00 +0300 Subject: Revert "Multithreaded coastlines generation. Second attempt :)" This reverts commit b4369bd56abe70ffdbddd8406f1683b503495c70. --- generator/feature_generator.cpp | 39 ++++++++------------------------------- 1 file changed, 8 insertions(+), 31 deletions(-) (limited to 'generator/feature_generator.cpp') diff --git a/generator/feature_generator.cpp b/generator/feature_generator.cpp index a5592fb343..4e23c671ac 100644 --- a/generator/feature_generator.cpp +++ b/generator/feature_generator.cpp @@ -6,7 +6,6 @@ #include "generate_info.hpp" #include "coastlines_generator.hpp" #include "world_map_generator.hpp" -#include "multiproducer_oneconsumer.hpp" #include "../defines.hpp" @@ -336,32 +335,6 @@ public: } } -private: - class CoastFeatureTask : public MultiProducerOneConsumer::ITask - { - MainFeaturesEmitter & m_parent; - size_t m_ind; - - public: - CoastFeatureTask(MainFeaturesEmitter & parent, size_t ind) - : m_parent(parent), m_ind(ind) {} - - virtual void RunBase() - { - vector vecFb; - m_parent.m_coasts->GetFeatures(m_ind, vecFb); - - for (size_t i = 0; i< vecFb.size(); ++i) - Emit(&vecFb[i]); - } - - virtual void EmitBase(void * p) - { - (*m_parent.m_coastsHolder)(*reinterpret_cast(p)); - } - }; - -public: void Finish() { if (m_world) @@ -372,12 +345,16 @@ public: m_coasts->Finish(); size_t const count = m_coasts->GetCellsCount(); - LOG(LINFO, ("Generating coastline features for ", count, " cells.")); + LOG(LINFO, ("Generating coastline polygons", count)); - MultiProducerOneConsumer runner(8); for (size_t i = 0; i < count; ++i) - runner.RunTask(new CoastFeatureTask(*this, i)); - runner.Finish(); + { + vector vecFb; + m_coasts->GetFeatures(i, vecFb); + + for (size_t j = 0; j < vecFb.size(); ++j) + (*m_coastsHolder)(vecFb[j]); + } } else if (m_coastsHolder) { -- cgit v1.2.3