From: Helge Norberg Date: Mon, 30 Nov 2015 20:57:05 +0000 (+0100) Subject: Use hardware concurrency as tbb grain size during memcpy and memset X-Git-Tag: 2.1.0_Beta1~166 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=706cad34e04af430ad62c3199ee4f2804283406e;p=casparcg Use hardware concurrency as tbb grain size during memcpy and memset --- diff --git a/common/memcpy.h b/common/memcpy.h index 530f6172b..caf403e58 100644 --- a/common/memcpy.h +++ b/common/memcpy.h @@ -25,12 +25,14 @@ #include +#include + namespace caspar { static void fast_memcpy(void* dest, const void* src, std::size_t size) { tbb::affinity_partitioner partitioner; - tbb::parallel_for(tbb::blocked_range(0, size, size / 128), [&](const tbb::blocked_range& range) + tbb::parallel_for(tbb::blocked_range(0, size, size / boost::thread::hardware_concurrency()), [&](const tbb::blocked_range& range) { A_memcpy( reinterpret_cast(dest) + range.begin(), diff --git a/common/memset.h b/common/memset.h index a53b0b2d4..f3b126f78 100644 --- a/common/memset.h +++ b/common/memset.h @@ -25,12 +25,14 @@ #include +#include + namespace caspar { static void fast_memset(void* dest, int c, std::size_t size) { tbb::affinity_partitioner partitioner; - tbb::parallel_for(tbb::blocked_range(0, size, size / 128), [&](const tbb::blocked_range& range) + tbb::parallel_for(tbb::blocked_range(0, size, size / boost::thread::hardware_concurrency()), [&](const tbb::blocked_range& range) { A_memset( reinterpret_cast(dest) + range.begin(),