Weston Pace created ARROW-11680:
-----------------------------------

             Summary: Add vendored version of folly's spsc queue
                 Key: ARROW-11680
                 URL: https://issues.apache.org/jira/browse/ARROW-11680
             Project: Apache Arrow
          Issue Type: Sub-task
          Components: C++
            Reporter: Weston Pace
            Assignee: Weston Pace


Rationale for vendoring:

Folly contains hundreds of files, requires boost & C++14.  The 
ProducerConsumerQueue class could be extracted out of three of those files and 
hasn't been changed since 2018.  The queue does not appear to have any open 
issues.

Comparisons with alternatives:

I have included a benchmark comparing folly with boost (since 
boost::lockfree::spsc_queue is already included in arrow, I think).  Boost does 
not support a move workflow for spsc_queue and performs worse.

I have not compared with any other alternatives but the utility is small and 
straightforward enough I am doubtful there would be significant differences.



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

Reply via email to