k-morozov / sync_cpp

implementation some sync premitives

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CMake

sync cpp library

  • mutex
  • condition_variable
  • go channels (buffered and unbuffered)
  • mpms queue
  • atomic counter

Required:

  • clang++-15
  • Conan 1.59.0

Channels:

  • buffered channels.
  • unbuffered channels.
  • buffered channels with MPMC queue.

atomic counter

  • benchmark
Benchmark Time CPU Iterations
simple_counter/iterations:10 21221 us 352 us 10
shards_counter/iterations:10 4953 us 247 us 10

lockfree

  • stack with counter
  • stack with hazard pointers

About

implementation some sync premitives


Languages

Language:C++ 63.4%Language:CMake 34.9%Language:Shell 1.7%