cocoyaxi (co for short), is an elegant and efficient cross-platform C++ base library. It contains a series of high-quality base components, such as a go-style coroutine, coroutine-based network programming framework, command line, and config file parser, high-performance log library, unit testing framework, JSON library, etc. co has implemented a go-style coroutine, which has the following features. Multi-thread scheduling, the default number of threads is the number of system CPU cores. Shared stack, coroutines in the same thread share several stacks (the default size is 1MB), and the memory usage is low. Simple test on Linux shows that 10 millions of coroutines only take 2.8G of memory (for reference only). There is a flat relationship between coroutines, and new coroutines can be created from anywhere (including in coroutines). Support system API hook (Windows/Linux/Mac), you can directly use third-party network library in coroutine.

Features

  • Coroutine synchronization event co::Event
  • Coroutineized socket API
  • Coroutine lock co::Mutex
  • Coroutine pool co::Pool
  • channel co::Chan
  • waitgroup co::WaitGroup

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow cocoyaxi

cocoyaxi Web Site

Other Useful Business Software
Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
Try Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of cocoyaxi!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

C++

Related Categories

C++ Libraries, C++ Unit Testing Tool

Registered

2022-05-31