mirror of
https://github.com/boostorg/fiber.git
synced 2026-02-12 12:02:54 +00:00
60 lines
2.3 KiB
Plaintext
60 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].
|
|
|
|
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`].
|
|
|
|
[note The measurement of fibers include the memory allocation of fiber stacks!]
|
|
|
|
[table Overhead of join
|
|
[[thread] [fiber (atomics)] [fiber (raw)] [tbb] [qthread]]
|
|
[[31 \u00b5s] [950 ns] [850 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] [21 ns] [15 ns]]
|
|
]
|
|
(from [@../../performance/fiber/overhead_detach.cpp overhead_detach.cpp])
|
|
|
|
[table Overhead of yield
|
|
[[thread] [fiber (atomics)] [fiber (raw)]]
|
|
[[38 \u00b5s] [189 ns] [168 ns]]
|
|
]
|
|
(from [@../../performance/fiber/overhead_yield.cpp overhead_yield.cpp])
|
|
|
|
[table Overhead of waiting on a future
|
|
[[thread] [fiber (atomics)] [fiber (raw)]]
|
|
[[32 \u00b5s] [1.4 \u00b5s] [1.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] [1.96 \u00b5s] [1.85 \u00b5s]]
|
|
[[50] [52.99 \u00b5s] [1.40 \u00b5s] [1.27 \u00b5s]]
|
|
[[100] [50.44 \u00b5s] [1.84 \u00b5s] [1.81 \u00b5s]]
|
|
[[500] [45.19 \u00b5s] [1.13 \u00b5s] [1.10 \u00b5s]]
|
|
[[1000] [42.59 \u00b5s] [1.46 \u00b5s] [1.26 \u00b5s]]
|
|
[[5000] [42.30 \u00b5s] [2.11 \u00b5s] [1.90 \u00b5s]]
|
|
[[10000] [41.07 \u00b5s] [2.36 \u00b5s] [1.89 \u00b5s]]
|
|
]
|
|
(from [@../../performance/fiber/scale_join.cpp scale_join.cpp])
|
|
|
|
[endsect]
|