| [/ |
| 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] |