Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. ck

ck

NOASSERTIONC0.7.2

A C99+ library providing concurrency primitives, safe memory reclamation mechanisms, and non-blocking data structures for high-performance concurrent systems.

Visit WebsiteGitHubGitHub
2.7k stars334 forks0 contributors

What is ck?

Concurrency Kit is a C library that provides a comprehensive suite of concurrency primitives, safe memory reclamation mechanisms, and non-blocking data structures. It is designed to aid in the research, design, and implementation of high-performance concurrent systems, offering architecture-optimized components for building scalable applications.

Target Audience

Systems programmers, researchers, and developers working on high-performance concurrent applications in C, particularly those implementing custom lock-free data structures or requiring fine-grained synchronization primitives.

Value Proposition

Developers choose Concurrency Kit for its extensive collection of battle-tested, architecture-specific implementations, its focus on both performance and correctness, and its role as a reference for state-of-the-art concurrency algorithms—all in a portable C99+ library.

Overview

Concurrency primitives, safe memory reclamation mechanisms and non-blocking (including lock-free) data structures designed to aid in the research, design and implementation of high performance concurrent systems developed in C99+.

Use Cases

Best For

  • Implementing custom lock-free data structures in C
  • Researching and benchmarking concurrency algorithms
  • Building high-performance servers with fine-grained synchronization
  • Developing systems software requiring safe memory reclamation
  • Porting concurrent algorithms across different CPU architectures
  • Learning about advanced synchronization primitives and their implementations

Not Ideal For

  • Projects using high-level languages with built-in concurrency libraries like Java or C#
  • Applications that only require basic mutexes and condition variables without lock-free data structures
  • Teams seeking pre-built, drop-in concurrent collections with minimal integration and no custom C code
  • Real-time systems where the non-deterministic latency of lock-free algorithms is unacceptable

Pros & Cons

Pros

Architecture-Specific Optimizations

Provides specialized assembly code for multiple CPU architectures like x86, ARM, and PPC, with fallbacks for portability, ensuring peak performance as noted in the supported architectures list.

Comprehensive Non-Blocking Structures

Includes a wide array of lock-free data structures such as FIFOs, stacks, queues, and hash sets with various concurrency specializations, detailed in the README's data structures section.

Safe Memory Reclamation

Offers battle-tested mechanisms like epoch-based reclamation and hazard pointers, essential for correct lock-free memory management in high-performance systems.

Rich Synchronization Primitives

Features numerous lock implementations, barriers, and NUMA-aware locks like cohort locks, providing tools for fine-grained synchronization, as highlighted in the synchronization primitives section.

Cons

Complex Build and Integration

Requires manual compilation and installation via configure and make, which is more cumbersome than package-manager-based libraries, and the README offers minimal guidance beyond basic steps.

Sparse High-Level Documentation

The README is brief and lacks detailed usage examples or API references, forcing users to rely on source code or external resources for practical implementation.

Steep Expertise Requirement

Assumes deep knowledge of memory models, concurrency patterns, and C programming, making it inaccessible for developers without systems programming experience.

Frequently Asked Questions

Quick Stats

Stars2,671
Forks334
Contributors0
Open Issues6
Last commit2 days ago
CreatedSince 2014

Tags

#systems-programming#c-library#high-performance#data-structures#lock-free#multithreading#concurrency#atomic-operations#synchronization

Built With

C
C99

Links & Resources

Website

Included in

C/C++70.6k
Auto-fetched 5 hours ago

Related Projects

concurrentqueueconcurrentqueue

A fast multi-producer, multi-consumer lock-free concurrent queue for C++11

Stars12,416
Forks1,927
Last commit12 days ago
TaskflowTaskflow

A General-purpose Task-parallel Programming System in C++

Stars12,079
Forks1,397
Last commit8 days ago
ThreadPoolThreadPool

A simple C++11 Thread Pool implementation

Stars8,769
Forks2,339
Last commit2 years ago
NCCLNCCL

Optimized primitives for collective multi-GPU communication

Stars4,904
Forks1,352
Last commit14 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub