From 706cad34e04af430ad62c3199ee4f2804283406e Mon Sep 17 00:00:00 2001 From: Helge Norberg Date: Mon, 30 Nov 2015 21:57:05 +0100 Subject: [PATCH] Use hardware concurrency as tbb grain size during memcpy and memset --- common/memcpy.h | 4 +++- common/memset.h | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) 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(), -- 2.39.2