Skip to content
This repository has been archived by the owner on Jul 5, 2023. It is now read-only.

Commit

Permalink
Bumped thread_pool and updated map_reduce accordingly
Browse files Browse the repository at this point in the history
  • Loading branch information
craigminihan committed Sep 27, 2016
1 parent be1a6a5 commit ec203f1
Show file tree
Hide file tree
Showing 7 changed files with 7 additions and 56 deletions.
6 changes: 3 additions & 3 deletions src/avancedb/map_reduce.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,12 @@ map_reduce_results_ptr MapReduce::Execute(const GetViewOptions& options, const M

// run the map
for (auto& coll : colls) {
mapReduceThreadPool_->Post([&]() {
mapReduceThreadPool_->Post([&](size_t threadId) {
std::unique_lock<std::mutex> lock{m, std::defer_lock};

try {
BOOST_SCOPE_EXIT(&threads) { --threads; } BOOST_SCOPE_EXIT_END
auto& rt = mapReduceThreadPool_->GetThreadRuntime();
auto& rt = mapReduceThreadPool_->GetThreadRuntime(threadId);

boost::unique_lock<document_collections_ptr_array::value_type::element_type> collLock{*coll};
document_array docs;
Expand Down Expand Up @@ -161,7 +161,7 @@ map_reduce_results_ptr MapReduce::Execute(const GetViewOptions& options, const M

for (decltype(collsSize) i = 0; i <= collsSize - step; i += step) {
if (useThreadsForMerge) {
mapReduceThreadPool_->Post([=]() { mergeResultsWorker(i, step); });
mapReduceThreadPool_->Post([=](size_t) { mergeResultsWorker(i, step); });
} else {
mergeResultsWorker(i, step);
}
Expand Down
5 changes: 2 additions & 3 deletions src/avancedb/map_reduce_thread_pool.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ void MapReduceThreadPool::Stop() {
mapReduceThreadPool_.reset();
}

rs::jsapi::Runtime& MapReduceThreadPool::GetThreadRuntime() {
auto id = Worker::getWorkerIdForCurrentThread();
return *(threadPoolRuntimes_[id]);
rs::jsapi::Runtime& MapReduceThreadPool::GetThreadRuntime(size_t threadId) {
return *(threadPoolRuntimes_[threadId]);
}
2 changes: 1 addition & 1 deletion src/avancedb/map_reduce_thread_pool.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ class MapReduceThreadPool final : public boost::enable_shared_from_this<MapReduc
threadPool_->post(handler);
}

rs::jsapi::Runtime& GetThreadRuntime();
rs::jsapi::Runtime& GetThreadRuntime(size_t id);

private:
friend map_reduce_thread_pool_ptr boost::make_shared<map_reduce_thread_pool_ptr::element_type>(std::uint32_t&, bool&, bool&);
Expand Down
19 changes: 0 additions & 19 deletions src/avancedb/nbproject/Makefile-Debug.mk
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
OBJECTFILES= \
${OBJECTDIR}/_ext/527039428/base64.o \
${OBJECTDIR}/_ext/1383664149/city.o \
${OBJECTDIR}/_ext/1845599792/worker.o \
${OBJECTDIR}/base64_helper.o \
${OBJECTDIR}/config.o \
${OBJECTDIR}/daemon.o \
Expand Down Expand Up @@ -130,11 +129,6 @@ ${OBJECTDIR}/_ext/1383664149/city.o: ../../externals/cityhash/src/city.cc
${RM} "$@.d"
$(COMPILE.cc) -g -I../../externals/libhttpserver/src/libhttpserver -I../../externals/libjsapi/src/libjsapi -I../../externals/termcolor/include -I../../externals/libscriptobject/src/libscriptobject -I../../externals/libscriptobject/src/libscriptobject_gason -I../../externals/libscriptobject/src/libscriptobject_msgpack -I../../externals/libscriptobject/externals/gason/src -I../../externals/cityhash/src -I../../externals/libjsapi/externals/installed/include/mozjs- -I../../externals/thread-pool-cpp/thread_pool -I../../externals/libscriptobject/externals/msgpack-c/include -I../../externals/ConstTimeEncoding -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/1383664149/city.o ../../externals/cityhash/src/city.cc

${OBJECTDIR}/_ext/1845599792/worker.o: ../../externals/thread-pool-cpp/thread_pool/worker.cpp
${MKDIR} -p ${OBJECTDIR}/_ext/1845599792
${RM} "$@.d"
$(COMPILE.cc) -g -I../../externals/libhttpserver/src/libhttpserver -I../../externals/libjsapi/src/libjsapi -I../../externals/termcolor/include -I../../externals/libscriptobject/src/libscriptobject -I../../externals/libscriptobject/src/libscriptobject_gason -I../../externals/libscriptobject/src/libscriptobject_msgpack -I../../externals/libscriptobject/externals/gason/src -I../../externals/cityhash/src -I../../externals/libjsapi/externals/installed/include/mozjs- -I../../externals/thread-pool-cpp/thread_pool -I../../externals/libscriptobject/externals/msgpack-c/include -I../../externals/ConstTimeEncoding -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/1845599792/worker.o ../../externals/thread-pool-cpp/thread_pool/worker.cpp

${OBJECTDIR}/base64_helper.o: base64_helper.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
Expand Down Expand Up @@ -382,19 +376,6 @@ ${OBJECTDIR}/_ext/1383664149/city_nomain.o: ${OBJECTDIR}/_ext/1383664149/city.o
${CP} ${OBJECTDIR}/_ext/1383664149/city.o ${OBJECTDIR}/_ext/1383664149/city_nomain.o;\
fi

${OBJECTDIR}/_ext/1845599792/worker_nomain.o: ${OBJECTDIR}/_ext/1845599792/worker.o ../../externals/thread-pool-cpp/thread_pool/worker.cpp
${MKDIR} -p ${OBJECTDIR}/_ext/1845599792
@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/1845599792/worker.o`; \
if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
(echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
(echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
then \
${RM} "$@.d";\
$(COMPILE.cc) -g -I../../externals/libhttpserver/src/libhttpserver -I../../externals/libjsapi/src/libjsapi -I../../externals/termcolor/include -I../../externals/libscriptobject/src/libscriptobject -I../../externals/libscriptobject/src/libscriptobject_gason -I../../externals/libscriptobject/src/libscriptobject_msgpack -I../../externals/libscriptobject/externals/gason/src -I../../externals/cityhash/src -I../../externals/libjsapi/externals/installed/include/mozjs- -I../../externals/thread-pool-cpp/thread_pool -I../../externals/libscriptobject/externals/msgpack-c/include -I../../externals/ConstTimeEncoding -std=c++11 -Dmain=__nomain -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/1845599792/worker_nomain.o ../../externals/thread-pool-cpp/thread_pool/worker.cpp;\
else \
${CP} ${OBJECTDIR}/_ext/1845599792/worker.o ${OBJECTDIR}/_ext/1845599792/worker_nomain.o;\
fi

${OBJECTDIR}/base64_helper_nomain.o: ${OBJECTDIR}/base64_helper.o base64_helper.cpp
${MKDIR} -p ${OBJECTDIR}
@NMOUTPUT=`${NM} ${OBJECTDIR}/base64_helper.o`; \
Expand Down
19 changes: 0 additions & 19 deletions src/avancedb/nbproject/Makefile-Release.mk
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
OBJECTFILES= \
${OBJECTDIR}/_ext/527039428/base64.o \
${OBJECTDIR}/_ext/1383664149/city.o \
${OBJECTDIR}/_ext/1845599792/worker.o \
${OBJECTDIR}/base64_helper.o \
${OBJECTDIR}/config.o \
${OBJECTDIR}/daemon.o \
Expand Down Expand Up @@ -130,11 +129,6 @@ ${OBJECTDIR}/_ext/1383664149/city.o: ../../externals/cityhash/src/city.cc
${RM} "$@.d"
$(COMPILE.cc) -O2 -I../../externals/libhttpserver/src/libhttpserver -I../../externals/libjsapi/src/libjsapi -I../../externals/termcolor/include -I../../externals/libscriptobject/src/libscriptobject -I../../externals/libscriptobject/src/libscriptobject_gason -I../../externals/libscriptobject/src/libscriptobject_msgpack -I../../externals/libscriptobject/externals/gason/src -I../../externals/cityhash/src -I../../externals/libjsapi/externals/installed/include/mozjs- -I../../externals/thread-pool-cpp/thread_pool -I../../externals/libscriptobject/externals/msgpack-c/include -I../../externals/ConstTimeEncoding -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/1383664149/city.o ../../externals/cityhash/src/city.cc

${OBJECTDIR}/_ext/1845599792/worker.o: ../../externals/thread-pool-cpp/thread_pool/worker.cpp
${MKDIR} -p ${OBJECTDIR}/_ext/1845599792
${RM} "$@.d"
$(COMPILE.cc) -O2 -I../../externals/libhttpserver/src/libhttpserver -I../../externals/libjsapi/src/libjsapi -I../../externals/termcolor/include -I../../externals/libscriptobject/src/libscriptobject -I../../externals/libscriptobject/src/libscriptobject_gason -I../../externals/libscriptobject/src/libscriptobject_msgpack -I../../externals/libscriptobject/externals/gason/src -I../../externals/cityhash/src -I../../externals/libjsapi/externals/installed/include/mozjs- -I../../externals/thread-pool-cpp/thread_pool -I../../externals/libscriptobject/externals/msgpack-c/include -I../../externals/ConstTimeEncoding -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/1845599792/worker.o ../../externals/thread-pool-cpp/thread_pool/worker.cpp

${OBJECTDIR}/base64_helper.o: base64_helper.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
Expand Down Expand Up @@ -382,19 +376,6 @@ ${OBJECTDIR}/_ext/1383664149/city_nomain.o: ${OBJECTDIR}/_ext/1383664149/city.o
${CP} ${OBJECTDIR}/_ext/1383664149/city.o ${OBJECTDIR}/_ext/1383664149/city_nomain.o;\
fi

${OBJECTDIR}/_ext/1845599792/worker_nomain.o: ${OBJECTDIR}/_ext/1845599792/worker.o ../../externals/thread-pool-cpp/thread_pool/worker.cpp
${MKDIR} -p ${OBJECTDIR}/_ext/1845599792
@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/1845599792/worker.o`; \
if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
(echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
(echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
then \
${RM} "$@.d";\
$(COMPILE.cc) -O2 -I../../externals/libhttpserver/src/libhttpserver -I../../externals/libjsapi/src/libjsapi -I../../externals/termcolor/include -I../../externals/libscriptobject/src/libscriptobject -I../../externals/libscriptobject/src/libscriptobject_gason -I../../externals/libscriptobject/src/libscriptobject_msgpack -I../../externals/libscriptobject/externals/gason/src -I../../externals/cityhash/src -I../../externals/libjsapi/externals/installed/include/mozjs- -I../../externals/thread-pool-cpp/thread_pool -I../../externals/libscriptobject/externals/msgpack-c/include -I../../externals/ConstTimeEncoding -std=c++11 -Dmain=__nomain -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/1845599792/worker_nomain.o ../../externals/thread-pool-cpp/thread_pool/worker.cpp;\
else \
${CP} ${OBJECTDIR}/_ext/1845599792/worker.o ${OBJECTDIR}/_ext/1845599792/worker_nomain.o;\
fi

${OBJECTDIR}/base64_helper_nomain.o: ${OBJECTDIR}/base64_helper.o base64_helper.cpp
${MKDIR} -p ${OBJECTDIR}
@NMOUTPUT=`${NM} ${OBJECTDIR}/base64_helper.o`; \
Expand Down
10 changes: 0 additions & 10 deletions src/avancedb/nbproject/configurations.xml
Original file line number Diff line number Diff line change
Expand Up @@ -250,11 +250,6 @@
tool="3"
flavor2="0">
</item>
<item path="../../externals/thread-pool-cpp/thread_pool/worker.cpp"
ex="false"
tool="1"
flavor2="0">
</item>
<item path="base64_helper.cpp" ex="false" tool="1" flavor2="0">
</item>
<item path="base64_helper.h" ex="false" tool="3" flavor2="0">
Expand Down Expand Up @@ -613,11 +608,6 @@
tool="3"
flavor2="0">
</item>
<item path="../../externals/thread-pool-cpp/thread_pool/worker.cpp"
ex="false"
tool="1"
flavor2="0">
</item>
<item path="base64_helper.cpp" ex="false" tool="1" flavor2="0">
</item>
<item path="base64_helper.h" ex="false" tool="3" flavor2="0">
Expand Down

0 comments on commit ec203f1

Please sign in to comment.