{"repo":"Xudong-Huang/may","free":true,"listed":false,"github":"https://github.com/Xudong-Huang/may","clone":"git clone https://github.com/Xudong-Huang/may.git","description":"rust stackful coroutine library","language":"Rust","stars":2421,"topics":["rust","coroutines","green-threads","fibers","async","scalability","io","primitives","high-performance","generator"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"May May is a high-performance library for programming stackful coroutines with which you can easily develop and maintain massive concurrent programs. It can be thought as the Rust version of the popular [Goroutine][go]. ---------- Table of contents Features Usage More examples The CPU heavy load examples The I/O heavy bound examples Performance Caveat How to tune a stack size License ---------- Features The stackful coroutine implementation is based on [generator][generator]; Support schedule on a configurable number of threads for multi-core systems; Support coroutine version of a local storage ([CLS][cls]); Support efficient asynchronous network I/O; Support efficient timer management; Support standard synchronization primitives, a semaphore, an MPMC channel, etc; Support cancellation of coroutines; Support graceful panic handling that will not affect other coroutines; Support scoped coroutine creation; Support general selection for all the coroutine API; All the coroutine API are compatible with the standard library semantics; All the coroutine API can be safely called in multi-threaded context; Both stable, beta, and nightly channels are supported; x86 64 GNU/Linux, x86 64 Windows, x86 64 macOS, AArch64 GNU/Linux, and AArch64 macOS are supported. ---------- Usage A naive echo server implemented with May: ---------- More examples The CPU heavy load examples [The \"Quick Sort\" algorithm][sort] [A prime number generator][prime] The I/O heavy bound examples [An echo server][ec","default_branch":null,"files":null,"tree":[],"storefront":"/r/Xudong-Huang","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Xudong-Huang/may/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}