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/02/18 00:28:00 UTC

[jira] [Created] (ARROW-11680) Add vendored version of folly's spsc queue

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)