2
0
mirror of https://github.com/boostorg/fiber.git synced 2026-02-12 12:02:54 +00:00
Files
fiber/doc/performance.qbk
2015-09-01 06:39:50 +02:00

58 lines
2.2 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].
The columns labeled [*fiber (atomics)] were compiled with default fiber
synchronization, capable of synchronizing fibers running on different threads.
The columns labeled [*fiber (raw)] were compiled with [link cross_thread_sync
`BOOST_FIBERS_NO_ATOMICS`].
[table Overhead of creating and joining
[[thread] [fiber (atomics)] [fiber (raw)] [tbb] [qthread]]
[[31 \u00b5s] [1.1 \u00b5s] [955 ns] [570 ns] [620 ns]]
]
(from [@../../performance/fiber/overhead_join.cpp overhead_join.cpp])
[table Overhead of detach
[[thread] [fiber (atomics)] [fiber (raw)]]
[[20 \u00b5s] [3.2 \u00b5s] [3.2 \u00b5s]]
]
(from [@../../performance/fiber/overhead_detach.cpp overhead_detach.cpp])
[table Overhead of yield
[[thread] [fiber (atomics)] [fiber (raw)]]
[[38 \u00b5s] [1.3 \u00b5s] [1.1 \u00b5s]]
]
(from [@../../performance/fiber/overhead_yield.cpp overhead_yield.cpp])
[table Overhead of waiting on a future
[[thread] [fiber (atomics)] [fiber (raw)]]
[[32 \u00b5s] [3.0 \u00b5s] [2.4 \u00b5s]]
]
(from [@../../performance/fiber/overhead_future.cpp overhead_future.cpp])
[table Scaling of creating and joining
[[average of] [thread] [fiber (atomics)] [fiber (raw)]]
[[10] [50.65 \u00b5s] [4.83 \u00b5s] [3.76 \u00b5s]]
[[50] [52.99 \u00b5s] [4.84 \u00b5s] [2.78 \u00b5s]]
[[100] [50.44 \u00b5s] [5.24 \u00b5s] [2.45 \u00b5s]]
[[500] [45.19 \u00b5s] [4.86 \u00b5s] [2.91 \u00b5s]]
[[1000] [42.59 \u00b5s] [5.04 \u00b5s] [3.60 \u00b5s]]
[[5000] [42.30 \u00b5s] [5.07 \u00b5s] [4.57 \u00b5s]]
[[10000] [41.07 \u00b5s] [5.12 \u00b5s] [4.21 \u00b5s]]
]
(from [@../../performance/fiber/scale_join.cpp scale_join.cpp])
[endsect]