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
Forever Free Full-Stack Observability | Grafana Cloud Icon
Forever Free Full-Stack Observability | Grafana Cloud

Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
Create free account
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