Welcome to liblfds, a portable, license-free, lock-free data structure library written in C.
Please see the wiki for extensive documentation on what is provided, building, porting and testing.
| date | release | source | release note | comment |
|---|---|---|---|---|
| unreleased | 7.0.01 | The next major release. | ||
| 02 Jan 13 | 6.1.11 | zip tar.bz2 github | here | Bug fix release. Supersedes 6.1.0. |
| 31 Dec 12 | 6.1.01 | zip tar.bz2 github | here | Maintenance release. |
| 02 Jan 13 | 6.0.11 | zip tar.bz2 github | here | Bug fix release. Supersedes 6.0.0. |
| 18 Dec 12 | 6.0.01 | zip tar.bz2 github | here | Wholly identical to 6, except moved into the 6.0.0 namespace. This release is a stepping-stone from 6 into the new namespaces. |
| 29 Dec 09 | 61 | zip tar.bz2 | here | Deprecated. The namespace is however distinct from later releases. |
| 19 Dec 09 | 5 | zip tar.bz2 | here | Deprecated. Releases 1 to 6 share the same namespace. |
| 07 Dec 09 | 4 | zip tar.bz2 | here | Deprecated. |
| 25 Oct 09 | 3 | zip tar.bz2 | here | Deprecated. |
| 05 Oct 09 | 2 | zip tar.bz2 | here | Deprecated. |
| 25 Sep 09 | 1 | zip tar.bz2 | here | Deprecated. |
1. Every release from and including 6 exists in its own namespace and can be used concurrently in the same build.
| 7.0.0 | 6.1.0 | 6.0.0 | 6 | 5 | 4 | 3 | 2 | 1 | |
|---|---|---|---|---|---|---|---|---|---|
| btree1 (add-only) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| hash (add-only) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| slist (add-only) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| slist (logical delete)2 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| freelist | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| queue | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| ringbuffer (MMO3) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| stack | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
1. Unbalanced
2. Deprecated in 7.0.0; full linked-list due soon
3. Many Producer Many Consumer One Reader
| 7.0.0 | 6.1.0 | 6.0.0 | 6 | 5 | 4 | 3 | 2 | 1 | |
|---|---|---|---|---|---|---|---|---|---|
| embedded1 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| linux (user-mode) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| windows (kernel-mode) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| windows (user-mode) | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
1. Defined as lacking run-time memory allocation
| ARM | Itanium | MIPS | PowerPC | SPARC | x64 | x86 | |
|---|---|---|---|---|---|---|---|
| btree1 (add-only) | 7.0.0 | 7.0.0 | 7.0.0 | 7.0.0 | 7.0.0 | 7.0.0 | 7.0.0 |
| hash (add-only) | 7.0.0 | 7.0.0 | 7.0.0 | 7.0.0 | 7.0.0 | 7.0.0 | 7.0.0 |
| slist (add-only) | 7.0.0 | 7.0.0 | 7.0.0 | 7.0.0 | 7.0.0 | 7.0.0 | 7.0.0 |
| slist (logical delete)2 | 4 | 3 | 3 | 3 | 3 | 3 | 3 |
| freelist | 4 | 1 | 1 | ||||
| queue | 4 | 1 | 1 | 1 | 1 | 1 | 1 |
| ringbuffer (MMO3) | 4 | 1 | 1 | ||||
| stack | 4 | 1 | 1 | 1 | 1 | 1 | 1 |
1. Unbalanced
2. Deprecated in 7.0.0; full linked-list due soon
3. Many Producer Many Consumer One Reader
There is no license. You are free to use this software in any way, for any purpose. Go forth and create wealth!