You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Weston Pace (Jira)" <ji...@apache.org> on 2021/05/28 03:27:00 UTC

[jira] [Created] (ARROW-12903) [C++] Create new thread pool benchmark demonstrating the "scheduling" bottleneck

Weston Pace created ARROW-12903:
-----------------------------------

             Summary: [C++] Create new thread pool benchmark demonstrating the "scheduling" bottleneck
                 Key: ARROW-12903
                 URL: https://issues.apache.org/jira/browse/ARROW-12903
             Project: Apache Arrow
          Issue Type: Sub-task
          Components: C++
            Reporter: Weston Pace
            Assignee: Weston Pace


The benchmark ThreadPoolSpawn (in thread_pool_benchmark.cc) is used to help understand the cost of adding a new thread task and to know when it is worth it / not worth it to schedule additional work.  For example, it seems that for small (1000) task sizes we start to lose the benefit of threads in as few as 2 threads.

However, this benchmark is actually demonstrating a worst-case scenario in terms of "scheuduling" overhead.  Without changing the thread pool implementation at all we can considerably improve the efficiency of this benchmark.  This Jira is to add an alternative best-case scenario to better help understand the cost of new thread tasks.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)