[/ Copyright Oliver Kowalke 2009. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt ] [section:performance Performance] Performance of __boost_coroutine__ 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 Performance of asymmetric coroutines [ [Platform] [switch] [construction (protected stack-allocator)] [construction (preallocated stack-allocator)] [construction (standard stack-allocator)] ] [ [i386 (AMD Athlon 64 DualCore 4400+, Linux 32bit)] [49 ns / 50 cycles] [51 \u00b5s / 51407 cycles] [14 \u00b5s / 15231 cycles] [14 \u00b5s / 15216 cycles] ] [ [x86_64 (Intel Core2 Q6700, Linux 64bit)] [12 ns / 39 cycles] [16 \u00b5s / 41802 cycles] [6 \u00b5s / 10350 cycles] [6 \u00b5s / 18817 cycles] ] ] [table Performance of symmetric coroutines [ [Platform] [switch] [construction (protected stack-allocator)] [construction (preallocated stack-allocator)] [construction (standard stack-allocator)] ] [ [i386 (AMD Athlon 64 DualCore 4400+, Linux 32bit)] [47 ns / 49 cycles] [27 \u00b5s / 28002 cycles] [98 ns / 116 cycles] [319 ns / 328 cycles] ] [ [x86_64 (Intel Core2 Q6700, Linux 64bit)] [10 ns / 33 cycles] [10 \u00b5s / 22828 cycles] [42 ns / 710 cycles] [135 ns / 362 cycles] ] ] [endsect]