www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - lock-free library for D?

reply zoujiaqing <zoujiaqing gmail.com> writes:
C++ boost now has a lock-free queue library:
https://github.com/boostorg/lockfree/tree/develop/include/boost/lockfree

It includes single-producer, single-consumer and multi-producer, 
multi-consumer queues.

Better performing libraries:
https://github.com/rigtorp/SPSCQueue
https://github.com/cameron314/concurrentqueue
https://github.com/max0x7ba/atomic_queue
Dec 30 2023
next sibling parent zoujiaqing <zoujiaqing gmail.com> writes:
On Saturday, 30 December 2023 at 18:08:06 UTC, zoujiaqing wrote:
 C++ boost now has a lock-free queue library:
 https://github.com/boostorg/lockfree/tree/develop/include/boost/lockfree

 It includes single-producer, single-consumer and 
 multi-producer, multi-consumer queues.

 Better performing libraries:
 https://github.com/rigtorp/SPSCQueue
 https://github.com/cameron314/concurrentqueue
 https://github.com/max0x7ba/atomic_queue
`atomic_queue` is a port of C++’s max0x7ba/atomic_queue implementation to rust: https://crates.io/crates/atomic-queue
Dec 30 2023
prev sibling parent reply mw <mw g.c> writes:
On Saturday, 30 December 2023 at 18:08:06 UTC, zoujiaqing wrote:
 C++ boost now has a lock-free queue library:
 https://github.com/boostorg/lockfree/tree/develop/include/boost/lockfree

 It includes single-producer, single-consumer and 
 multi-producer, multi-consumer queues.

 Better performing libraries:
 https://github.com/rigtorp/SPSCQueue
 https://github.com/cameron314/concurrentqueue
 https://github.com/max0x7ba/atomic_queue
https://code.dlang.org/packages/liblfdsd liblfds for D, from the portable, license-free, lock-free data structure C library (https://www.liblfds.org/).
Dec 30 2023
parent reply zoujiaqing <zoujiaqing gmail.com> writes:
On Sunday, 31 December 2023 at 04:33:44 UTC, mw wrote:
 On Saturday, 30 December 2023 at 18:08:06 UTC, zoujiaqing wrote:
 C++ boost now has a lock-free queue library:
 https://github.com/boostorg/lockfree/tree/develop/include/boost/lockfree

 It includes single-producer, single-consumer and 
 multi-producer, multi-consumer queues.

 Better performing libraries:
 https://github.com/rigtorp/SPSCQueue
 https://github.com/cameron314/concurrentqueue
 https://github.com/max0x7ba/atomic_queue
https://code.dlang.org/packages/liblfdsd liblfds for D, from the portable, license-free, lock-free data structure C library (https://www.liblfds.org/).
It does not support the ARM64 architecture.
Dec 31 2023
parent reply mw <mw g.c> writes:
https://code.dlang.org/packages/rust_interop_d

Wrap a Rust implementation then.
Dec 31 2023
parent reply RJ Nowling <rnowling gmail.com> writes:
On Sunday, 31 December 2023 at 19:06:40 UTC, mw wrote:
 https://code.dlang.org/packages/rust_interop_d

 Wrap a Rust implementation then.
What about the lock-free library? https://github.com/MartinNowak/lock-free
Jan 15
next sibling parent mw <mw g.c> writes:
On Tuesday, 16 January 2024 at 01:35:43 UTC, RJ Nowling wrote:
 On Sunday, 31 December 2023 at 19:06:40 UTC, mw wrote:
 https://code.dlang.org/packages/rust_interop_d

 Wrap a Rust implementation then.
What about the lock-free library? https://github.com/MartinNowak/lock-free
It's not production quality library: https://github.com/MartinNowak/lock-free/issues/4
Jan 16
prev sibling parent zoujiaqing <zoujiaqing gmail.com> writes:
On Tuesday, 16 January 2024 at 01:35:43 UTC, RJ Nowling wrote:
 On Sunday, 31 December 2023 at 19:06:40 UTC, mw wrote:
 https://code.dlang.org/packages/rust_interop_d

 Wrap a Rust implementation then.
What about the lock-free library? https://github.com/MartinNowak/lock-free
We really need lock-free container. This is about how to implement a highly concurrent server.
Jan 16