C++ coroutine examples and library comparisons.
System |
Compiler |
Status |
Linux |
GCC |
OK |
Linux |
Clang |
cppcoro CMake configure error |
Windows |
MSVC |
OK |
Windows |
Clang-cl |
cppcoro compile errors |
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 |