mirror of
https://github.com/boostorg/fiber.git
synced 2026-02-12 12:02:54 +00:00
54 lines
2.1 KiB
Plaintext
54 lines
2.1 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 [@../../performance/overhead_join.cpp Overhead of creating and joining]
|
|
[[thread] [fiber (atomics)] [fiber (raw)] [tbb] [qthread]]
|
|
[[31 \u00b5s] [1.1 \u00b5s] [955 ns] [570 ns] [620 ns]]
|
|
]
|
|
|
|
[table [@../../performance/overhead_detach.cpp Overhead of detach]
|
|
[[thread] [fiber (atomics)] [fiber (raw)]]
|
|
[[20 \u00b5s] [3.2 \u00b5s] [3.2 \u00b5s]]
|
|
]
|
|
|
|
[table [@../../performance/overhead_yield.cpp Overhead of yield]
|
|
[[thread] [fiber (atomics)] [fiber (raw)]]
|
|
[[38 \u00b5s] [1.3 \u00b5s] [1.1 \u00b5s]]
|
|
]
|
|
|
|
[table [@../../performance/overhead_future.cpp Overhead of waiting on a future]
|
|
[[thread] [fiber (atomics)] [fiber (raw)]]
|
|
[[32 \u00b5s] [3.0 \u00b5s] [2.4 \u00b5s]]
|
|
]
|
|
|
|
[table [@../../performance/scale_join.cpp 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]]
|
|
]
|
|
|
|
|
|
[endsect]
|