A high-performance C++20 concurrency framework with lock-free work-stealing thread pools, Asio integration, and simple coroutine syntax.
TooManyCooks is a C++20 concurrency framework that provides a high-performance runtime for coroutines with lock-free work-stealing thread pools. It solves the need for efficient parallel execution in modern C++ applications while offering a simple syntax and extensive feature set.
C++ developers building performance-critical applications requiring advanced concurrency, parallel processing, or asynchronous I/O operations.
Developers choose TooManyCooks for its benchmark-leading performance, clean API, and comprehensive feature set including Asio integration, hardware-aware thread configuration, and support for both coroutines and traditional functors.
C++20 concurrency framework with no compromises. Excellent performance, powerful features, and simple syntax.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Features a lock-free, work-stealing thread pool optimized for speed, with benchmarks linked in the README demonstrating top-tier performance.
Leverages hwloc for intelligent thread configuration across CPU architectures, as noted in the README, improving resource utilization on diverse hardware.
Provides network I/O, file I/O, and timer support via tmc-asio, simplifying asynchronous operations with existing Asio-based systems.
Supports both coroutines and regular functors, with traits-based extensibility for third-party awaitables and executors, enabling easy integration.
Does not support MSVC due to a critical compiler bug causing crashes in Release builds, severely limiting Windows development options.
Requires Clang 17+ or GCC 14+, which may not be available in all development or production environments, restricting adoption.
Versions prior to v1.5 require creating a standalone compilation file, adding an extra step to the build process compared to simpler header-only libraries.