[ https://issues.apache.org/jira/browse/ARROW-16177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17522517#comment-17522517 ]
Weston Pace commented on ARROW-16177: ------------------------------------- Benchmarks sound like a good idea. I'll throw some together and measure the map impl as well. > [C++] Replace ThreadIndexer with a more performant thread-local implementation > ------------------------------------------------------------------------------ > > Key: ARROW-16177 > URL: https://issues.apache.org/jira/browse/ARROW-16177 > Project: Apache Arrow > Issue Type: Bug > Components: C++ > Reporter: Weston Pace > Priority: Major > > Many of the ExecNode operations use thread local state (mostly temporary > buffers) to avoid per-batch allocation. Currently we are using ThreadIndexer > but to get the thread local state requires locking a mutex and a map lookup. > For some of the critical sections we are developing in hash-join this has > become a bottleneck. Ideally we can replace this with something that relies > on thread local state instead of a map shared across all threads. -- This message was sent by Atlassian Jira (v8.20.1#820001)