mirror of
https://github.com/boostorg/fiber.git
synced 2026-02-12 12:02:54 +00:00
58 lines
2.2 KiB
Plaintext
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]
|