]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | ||
10 | Performance of __boost_coroutine__ was measured on the platforms shown in the | |
11 | following table. Performance measurements were taken using `rdtsc` and | |
12 | `boost::chrono::high_resolution_clock`, with overhead corrections, on x86 | |
13 | platforms. In each case, cache warm-up was accounted for, and the one | |
14 | running 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] |