• Stars
    star
    1,752
  • Rank 26,578 (Top 0.6 %)
  • Language
  • Created over 8 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A collection of resources on wait-free and lock-free programming

Awesome Lock-Free

A collection of resources on wait-free and lock-free programming.

🔥 🔥 🔥 Even better resource from MattPD: C++ links: atomics, lock free, memory model.

Libraries

  • Boost.Lockfree - Boost lock-free data structures.
  • ConcurrencyKit - Concurrency primitives.
  • crossbeam - Rust library for concurrent programming.
  • Folly - Facebook Open-source Library (has good implementation of MPMC queue).
  • Junction - Concurrent data structures in C++.
  • MPMCQueue - A bounded multi-producer multi-consumer lock-free queue written in C++11.
  • SPSCQueue - A bounded single-producer single-consumer wait-free and lock-free queue written in C++11.
  • Seqlock - Implementation of Seqlock in C++.
  • Userspace RCU - liburcu is a userspace RCU (read-copy-update) library.
  • libcds - A C++ library of Concurrent Data Structures.
  • liblfds - portable, license-free, lock-free data structure library written in C.
  • xenium - A C++ library providing various concurrent data structures and reclamation schemes.

Websites

Blogs

Books

Papers

Talks

About

This list was compiled by Erik Rigtorp <[email protected]>.

More Repositories

1

awesome-modern-cpp

A collection of resources on modern C++
HTML
11,654
star
2

MPMCQueue

A bounded multi-producer multi-consumer concurrent queue written in C++11
C++
1,160
star
3

SPSCQueue

A bounded single-producer single-consumer wait-free and lock-free queue written in C++11
C++
871
star
4

ipc-bench

Latency benchmarks of Unix IPC mechanisms
C
547
star
5

spartan

A collection of High-Frequency trading components
C++
270
star
6

udpreplay

Replay UDP packets from a pcap file
C++
256
star
7

HashMap

An open addressing linear probing hash table, tuned for delete heavy workloads
C++
197
star
8

Seqlock

An implementation of Seqlock in C++11
C++
179
star
9

nanomq

Ultra low latency messaging kernel
C++
152
star
10

c2clat

A tool to measure CPU core to core latency
C++
118
star
11

hiccups

Measures the system induced jitter ("hiccups") a CPU bound thread experiences
C++
104
star
12

efvicap

erfvicap is a packet capture tool for network adapters from Solarflare
C++
59
star
13

statkit

Statistics toolkit for JavaScript
JavaScript
51
star
14

TokenBucket

Lock-free implementation of the token bucket algorithm in C++
C++
50
star
15

Function

Heap allocation free version of C++11 std::function
C++
50
star
16

isatomic

Test if AVX vector loads and stores are atomic
C++
21
star
17

CharConv

Fast integer to string and string to integer conversion functions
C++
18
star
18

BinarySemaphore

Binary semaphore using futexes.
C++
9
star
19

RingMap

Hybrid data structure that acts like a ring buffer and map
C++
7
star
20

dotemacs

My emacs config
Emacs Lisp
6
star
21

go-pikchr

Pikchr wrapped for Go using WebAssembly. No cgo required.
Go
4
star
22

unats

A simple single threaded NATS client for C++.
C++
4
star
23

nordpool

Data preprocessing / munging scripts for Nordpool power market data
HTML
3
star
24

openonload

git import of https://www.openonload.org/
Shell
3
star
25

sfpl

Simple functional programming language
Python
2
star
26

go-graphviz

Graphviz wrapped for Go using WebAssembly. No cgo required.
CMake
2
star
27

spark-dht11

Spark app to read a DHT11 sensor and publish humidity and temperature as Spark variables
C++
2
star
28

gmbackup

Simple tool to backup a Gmail account
Go
2
star
29

t-amp

Tripath Class-T audio amplifier
1
star
30

anything-git

Anything sources for Git
Emacs Lisp
1
star
31

chipamp

A hand crafted power amplifier of the Gainclone type
1
star
32

sysjitter2

1
star
33

gccsense

Fork of http://cx4a.org/repo/gccsense.git
Emacs Lisp
1
star