2
0
mirror of https://github.com/boostorg/fiber.git synced 2026-02-13 12:22:36 +00:00
Files
fiber/doc/performance.qbk
Oliver Kowalke 6c35324727 use atomics per default
- atomics can be disable using BOOST_FIBERS_NO_ATOMICS compiler flag
2015-06-20 21:31:34 +02:00

84 lines
2.3 KiB
Plaintext

[/
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 measurements were taken using `std::chrono::highresolution_clock`,
with overhead corrections.
The code was compiled using the build options:
variant = release, optimization = speed
[footnote Intel Core2 Q6700, x86_64, 3GHz].
[table Overhead of creating and joining
[[thread] [fiber] [tbb] [qthread]]
[[31 \u00b5s] [1.1 \u00b5s] [570 ns] [620 ns]]
]
[table Overhead of detach
[[thread] [fiber]]
[[20 \u00b5s] [3.2 \u00b5s]]
]
[table Overhead of yield
[[thread] [fiber]]
[[38 \u00b5s] [1.3 \u00b5s]]
]
[table Overhead of waiting on a future
[[thread] [fiber]]
[[32 \u00b5s] [3.0 \u00b5s]]
]
[table Scaling of creating and joining
[[average of] [thread] [fiber]]
[[10] [50.65 \u00b5s] [4.83 \u00b5s]]
[[50] [52.99 \u00b5s] [4.84 \u00b5s]]
[[100] [50.44 \u00b5s] [5.24 \u00b5s]]
[[500] [45.19 \u00b5s] [4.86 \u00b5s]]
[[1000] [42.59 \u00b5s] [5.04 \u00b5s]]
[[5000] [42.30 \u00b5s] [5.07 \u00b5s]]
[[10000] [41.07 \u00b5s] [5.12 \u00b5s]]
]
Using internally atomics by applying BOOST_FIBER_NO_ATOMICS.
[table Overhead of creating and joining
[[thread] [fiber] [tbb] [qthread]]
[[31 \u00b5s] [955 ns] [570 ns] [620 ns]]
]
[table Overhead of detach
[[thread] [fiber]]
[[20 \u00b5s] [3.2 \u00b5s]]
]
[table Overhead of yield
[[thread] [fiber]]
[[38 \u00b5s] [1.1 \u00b5s]]
]
[table Overhead of waiting on a future
[[thread] [fiber]]
[[32 \u00b5s] [2.4 \u00b5s]]
]
[table Scaling of creating and joining
[[average of] [thread] [fiber]]
[[10] [50.65 \u00b5s] [3.76 \u00b5s]]
[[50] [52.99 \u00b5s] [2.78 \u00b5s]]
[[100] [50.44 \u00b5s] [2.45 \u00b5s]]
[[500] [45.19 \u00b5s] [2.91 \u00b5s]]
[[1000] [42.59 \u00b5s] [3.60 \u00b5s]]
[[5000] [42.30 \u00b5s] [4.57 \u00b5s]]
[[10000] [41.07 \u00b5s] [4.21 \u00b5s]]
]
[endsect]