Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/toxe/cpp-coroutines
C++ Coroutines
https://github.com/toxe/cpp-coroutines
coroutines cpp cpp-coroutines cpp20 cpp23 generator
Last synced: about 1 month ago
JSON representation
C++ Coroutines
- Host: GitHub
- URL: https://github.com/toxe/cpp-coroutines
- Owner: Toxe
- License: mit
- Created: 2024-08-13T15:44:18.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-10T13:08:10.000Z (3 months ago)
- Last Synced: 2024-11-19T14:06:37.927Z (about 1 month ago)
- Topics: coroutines, cpp, cpp-coroutines, cpp20, cpp23, generator
- Language: C++
- Homepage:
- Size: 44.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# C++ Coroutines
C++ coroutine examples and library comparisons.
## Compiler Support
| System | Compiler | Status |
| ------- | -------- | ------------------------------- |
| Linux | GCC | OK |
| Linux | Clang | `cppcoro` CMake configure error |
| Windows | MSVC | OK |
| Windows | Clang-cl | `cppcoro` compile errors |## MSVC
| ns/op | op/s | err% | total | benchmark |
| -----: | -------------: | ---: | ----: | :------------------------ |
| 347.17 | 2,880,445.80 | 3.5% | 0.01 | `cppcoro: simple_tasks` |
| 436.46 | 2,291,147.13 | 1.1% | 0.01 | `libcoro: simple_tasks` |
| 166.92 | 5,990,983.18 | 0.2% | 0.01 | `manual: simple_tasks` |
| 1.20 | 835,937,051.56 | 2.4% | 0.01 | `reference: simple_tasks` || ns/op | op/s | err% | total | benchmark |
| -----: | -------------: | ---: | ----: | :--------------------- |
| 154.23 | 6,484,003.01 | 1.2% | 0.01 | `cppcoro: fibonacci` |
| 170.62 | 5,861,059.36 | 0.6% | 0.01 | `libcoro: fibonacci` |
| 69.64 | 14,358,785.65 | 0.5% | 0.01 | `manual: fibonacci` |
| 7.50 | 133,337,000.68 | 0.9% | 0.01 | `reference: fibonacci` || ns/op | op/s | err% | total | benchmark |
| -------: | -----------: | ---: | ----: | :--------------------------------------------------- |
| 3,988.80 | 250,701.77 | 1.2% | 0.01 | `cppcoro generator: finite_counter (iterator)` |
| 3,991.27 | 250,546.83 | 1.8% | 0.01 | `cppcoro generator: finite_counter (range-for)` |
| 3,805.26 | 262,793.91 | 0.3% | 0.01 | `cppcoro generator: infinite_counter` |
| 3,677.57 | 271,918.68 | 1.3% | 0.01 | `libcoro generator: finite_counter (iterator)` |
| 3,745.11 | 267,014.66 | 2.0% | 0.01 | `libcoro generator: finite_counter (range-for)` |
| 3,218.10 | 310,742.54 | 1.1% | 0.01 | `libcoro generator: infinite_counter` |
| 3,141.80 | 318,288.55 | 0.4% | 0.01 | `manual generator: finite_counter (iterator)` |
| 3,013.14 | 331,879.39 | 0.8% | 0.01 | `manual generator: finite_counter (range-for)` |
| 3,327.68 | 300,509.34 | 1.5% | 0.01 | `manual generator: finite_counter` |
| 2,920.77 | 342,375.29 | 2.1% | 0.01 | `manual generator: infinite_counter` |
| 242.25 | 4,127,918.19 | 4.0% | 0.01 | `reference generator: finite_counter` |
| 236.82 | 4,222,689.08 | 1.3% | 0.01 | `reference generator: infinite_counter` |
| 3,680.00 | 271,739.13 | 0.9% | 0.01 | `std::generator: finite_counter (iterator)` |
| 3,634.17 | 275,166.05 | 0.2% | 0.01 | `std::generator: finite_counter (range-for)` |
| 3,277.56 | 305,104.64 | 0.1% | 0.01 | `std::generator: infinite_counter` |
| 3,669.04 | 272,550.92 | 2.0% | 0.01 | `concurrencpp generator: finite_counter (iterator)` |
| 3,888.67 | 257,157.55 | 0.9% | 0.01 | `concurrencpp generator: finite_counter (range-for)` |
| 3,334.95 | 299,854.44 | 0.9% | 0.01 | `concurrencpp generator: infinite_counter` |