1[/ 2 Copyright Oliver Kowalke 2009. 3 Distributed under the Boost Software License, Version 1.0. 4 (See accompanying file LICENSE_1_0.txt or copy at 5 http://www.boost.org/LICENSE_1_0.txt 6] 7 8[section:performance Performance] 9 10Performance of __boost_coroutine__ was measured on the platforms shown in the 11following table. Performance measurements were taken using `rdtsc` and 12`boost::chrono::high_resolution_clock`, with overhead corrections, on x86 13platforms. In each case, cache warm-up was accounted for, and the one 14running thread was pinned to a single CPU. 15 16[table Performance of asymmetric coroutines 17 [ 18 [Platform] 19 [switch] 20 [construction (protected stack-allocator)] 21 [construction (preallocated stack-allocator)] 22 [construction (standard stack-allocator)] 23 ] 24 [ 25 [i386 (AMD Athlon 64 DualCore 4400+, Linux 32bit)] 26 [49 ns / 50 cycles] 27 [51 \u00b5s / 51407 cycles] 28 [14 \u00b5s / 15231 cycles] 29 [14 \u00b5s / 15216 cycles] 30 ] 31 [ 32 [x86_64 (Intel Core2 Q6700, Linux 64bit)] 33 [12 ns / 39 cycles] 34 [16 \u00b5s / 41802 cycles] 35 [6 \u00b5s / 10350 cycles] 36 [6 \u00b5s / 18817 cycles] 37 ] 38] 39 40[table Performance of symmetric coroutines 41 [ 42 [Platform] 43 [switch] 44 [construction (protected stack-allocator)] 45 [construction (preallocated stack-allocator)] 46 [construction (standard stack-allocator)] 47 ] 48 [ 49 [i386 (AMD Athlon 64 DualCore 4400+, Linux 32bit)] 50 [47 ns / 49 cycles] 51 [27 \u00b5s / 28002 cycles] 52 [98 ns / 116 cycles] 53 [319 ns / 328 cycles] 54 ] 55 [ 56 [x86_64 (Intel Core2 Q6700, Linux 64bit)] 57 [10 ns / 33 cycles] 58 [10 \u00b5s / 22828 cycles] 59 [42 ns / 710 cycles] 60 [135 ns / 362 cycles] 61 ] 62] 63 64 65[endsect] 66