...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Performance of Boost.Coroutine2 was measured
on the platforms shown in the following table. Performance measurements were
taken using rdtsc
and boost::chrono::high_resolution_clock
,
with overhead corrections, on x86 platforms. In each case, cache warm-up was
accounted for, and the one running thread was pinned to a single CPU.
Table 1.1. Performance of asymmetric coroutines (using captured_context)
Platform |
switch |
construction (protected stack-allocator) |
construction (standard stack-allocator) |
---|---|---|---|
x86_64 (Intel Core2 Q6700, Linux 64bit) |
7 ns / 20 cycles |
19 µs / cw6306445402 cycles |
10 µs / 29896 cycles |