Weston Pace created ARROW-12097:
-----------------------------------

             Summary: [C++] Modify BackgroundGenerator so it creates fewer 
threads
                 Key: ARROW-12097
                 URL: https://issues.apache.org/jira/browse/ARROW-12097
             Project: Apache Arrow
          Issue Type: Improvement
          Components: C++
            Reporter: Weston Pace
            Assignee: Weston Pace
             Fix For: 4.0.0


The current implementation creates a thread per block and in the CSV reader 
this hurts performance just a bit.  However, in the IPC reader this hurts 
performance even more.

Instead the readahead can move inside the background generator and the 
background generator task can keep running until the queue fills up and then 
restart when the queue has drained enough for a substantial amount of work to 
be done.

In my test CSV case this dropped the # of thread tasks created from ~2.5k to 
~100.



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

Reply via email to