summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorAshod Nakashian <ashod.nakashian@collabora.co.uk>2016-06-14 07:19:20 -0400
committerMichael Meeks <michael.meeks@collabora.com>2016-06-17 09:20:07 +0000
commitc739cc104844893955dc9a4de2bf8050759703f2 (patch)
tree974f908a33c62bda4638090a94bc14c538b124fd /solenv
parent4547fd4c3c58287076a6492d5c9f23ccc45578dc (diff)
tdf#98955 hardware_concurrency not ideal for thread pools
A new static member getPreferredConcurrency added to comphelper::ThreadPool to return a configurable max number of threads. By default the new function returns the hardware_concurrency value provided by std::thread. When MAX_CONCURRENCY envar is defined, the return value is limited to whatever is set there. Three call-sites that used std::thread::hardware_concurrency have been replaced with getPreferredConcurrency. Unittests added to cover the functionality of the new member. Unittests are capped to 4 threads. Reviewed-on: https://gerrit.libreoffice.org/26254 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> (cherry picked from commit 60e75fb276778459f6055360646d879b8c615d83) Change-Id: I3332e393a88a5ed436316fa712ed920a4b37f4af Reviewed-on: https://gerrit.libreoffice.org/26395 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/CppunitTest.mk3
1 files changed, 3 insertions, 0 deletions
diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk
index 5ab32cac3b3b..5532192fc2da 100644
--- a/solenv/gbuild/CppunitTest.mk
+++ b/solenv/gbuild/CppunitTest.mk
@@ -19,6 +19,9 @@
# CppunitTest class
+# Cap the number of threads unittests use.
+export MAX_CONCURRENCY=4
+
gb_CppunitTest_UNITTESTFAILED ?= $(GBUILDDIR)/platform/unittest-failed-default.sh
gb_CppunitTest_PYTHONDEPS ?= $(call gb_Library_get_target,pyuno_wrapper) $(if $(SYSTEM_PYTHON),,$(call gb_Package_get_target,python3))