3 <meta http-equiv=
"Content-Type" content=
"text/html; charset=US-ASCII">
4 <title>Performance
</title>
5 <link rel=
"stylesheet" href=
"../../../../../doc/src/boostbook.css" type=
"text/css">
6 <meta name=
"generator" content=
"DocBook XSL Stylesheets V1.75.2">
7 <link rel=
"home" href=
"../index.html" title=
"Chapter 1. Fiber">
8 <link rel=
"up" href=
"../index.html" title=
"Chapter 1. Fiber">
9 <link rel=
"prev" href=
"integration/deeper_dive_into___boost_asio__.html" title=
"Deeper Dive into Boost.Asio">
10 <link rel=
"next" href=
"custom.html" title=
"Customization">
12 <body bgcolor=
"white" text=
"black" link=
"#0000FF" vlink=
"#840084" alink=
"#0000FF">
13 <table cellpadding=
"2" width=
"100%"><tr>
14 <td valign=
"top"><img alt=
"Boost C++ Libraries" width=
"277" height=
"86" src=
"../../../../../boost.png"></td>
15 <td align=
"center"><a href=
"../../../../../index.html">Home
</a></td>
16 <td align=
"center"><a href=
"../../../../../libs/libraries.htm">Libraries
</a></td>
17 <td align=
"center"><a href=
"http://www.boost.org/users/people.html">People
</a></td>
18 <td align=
"center"><a href=
"http://www.boost.org/users/faq.html">FAQ
</a></td>
19 <td align=
"center"><a href=
"../../../../../more/index.htm">More
</a></td>
22 <div class=
"spirit-nav">
23 <a accesskey=
"p" href=
"integration/deeper_dive_into___boost_asio__.html"><img src=
"../../../../../doc/src/images/prev.png" alt=
"Prev"></a><a accesskey=
"u" href=
"../index.html"><img src=
"../../../../../doc/src/images/up.png" alt=
"Up"></a><a accesskey=
"h" href=
"../index.html"><img src=
"../../../../../doc/src/images/home.png" alt=
"Home"></a><a accesskey=
"n" href=
"custom.html"><img src=
"../../../../../doc/src/images/next.png" alt=
"Next"></a>
26 <div class=
"titlepage"><div><div><h2 class=
"title" style=
"clear: both">
27 <a name=
"fiber.performance"></a><a class=
"link" href=
"performance.html" title=
"Performance">Performance
</a>
28 </h2></div></div></div>
30 Performance measurements were taken using
<code class=
"computeroutput"><span class=
"identifier">std
</span><span class=
"special">::
</span><span class=
"identifier">chrono
</span><span class=
"special">::
</span><span class=
"identifier">highresolution_clock
</span></code>,
31 with overhead corrections. The code was compiled using the build options: variant
32 = release, optimization = speed
<sup>[
<a name=
"fiber.performance.f0" href=
"#ftn.fiber.performance.f0" class=
"footnote">7</a>]
</sup>.
35 The columns labeled
<span class=
"bold"><strong>fiber (atomics)
</strong></span> were compiled
36 with default fiber synchronization, capable of synchronizing fibers running
37 on different threads. The columns labeled
<span class=
"bold"><strong>fiber (raw)
</strong></span>
38 were compiled with
<a class=
"link" href=
"overview.html#cross_thread_sync"><code class=
"computeroutput"><span class=
"identifier">BOOST_FIBERS_NO_ATOMICS
</span></code></a>.
41 <a name=
"fiber.performance.overhead_of_join__contains_fiber_context_destruction__fiber_stack_deallocation_"></a><p class=
"title"><b>Table
 1.1.
 Overhead of join (contains fiber-context destruction, fiber-stack deallocation)
</b></p>
42 <div class=
"table-contents"><table class=
"table" summary=
"Overhead of join (contains fiber-context destruction, fiber-stack deallocation)">
106 <br class=
"table-break"><p>
107 (from
<a href=
"../../../performance/fiber/overhead_join.cpp" target=
"_top">overhead_join.cpp
</a>)
110 <a name=
"fiber.performance.overhead_of_detach"></a><p class=
"title"><b>Table
 1.2.
 Overhead of detach
</b></p>
111 <div class=
"table-contents"><table class=
"table" summary=
"Overhead of detach">
153 <br class=
"table-break"><p>
154 (from
<a href=
"../../../performance/fiber/overhead_detach.cpp" target=
"_top">overhead_detach.cpp
</a>)
157 <a name=
"fiber.performance.overhead_of_yield"></a><p class=
"title"><b>Table
 1.3.
 Overhead of yield
</b></p>
158 <div class=
"table-contents"><table class=
"table" summary=
"Overhead of yield">
200 <br class=
"table-break"><p>
201 (from
<a href=
"../../../performance/fiber/overhead_yield.cpp" target=
"_top">overhead_yield.cpp
</a>)
204 <a name=
"fiber.performance.overhead_of_waiting_on_a_future"></a><p class=
"title"><b>Table
 1.4.
 Overhead of waiting on a future
</b></p>
205 <div class=
"table-contents"><table class=
"table" summary=
"Overhead of waiting on a future">
247 <br class=
"table-break"><p>
248 (from
<a href=
"../../../performance/fiber/overhead_future.cpp" target=
"_top">overhead_future.cpp
</a>)
251 <a name=
"fiber.performance.overhead_of_fiber_creation__contains_fiber_stack_allocation_and_preparation__fiber_context_construction__scheduler_handling_"></a><p class=
"title"><b>Table
 1.5.
 Overhead of fiber creation (contains fiber-stack allocation and preparation,
252 fiber-context construction, scheduler handling)
</b></p>
253 <div class=
"table-contents"><table class=
"table" summary=
"Overhead of fiber creation (contains fiber-stack allocation and preparation,
254 fiber-context construction, scheduler handling)">
296 <br class=
"table-break"><p>
297 (from
<a href=
"../../../performance/fiber/overhead_create.cpp" target=
"_top">overhead_create.cpp
</a>)
300 <a name=
"fiber.performance.scaling_of_creating_and_joining"></a><p class=
"title"><b>Table
 1.6.
 Scaling of creating and joining
</b></p>
301 <div class=
"table-contents"><table class=
"table" summary=
"Scaling of creating and joining">
488 <br class=
"table-break"><p>
489 (from
<a href=
"../../../performance/fiber/scale_join.cpp" target=
"_top">scale_join.cpp
</a>)
492 Numbers of the
<a href=
"https://github.com/atemerev/skynet" target=
"_top">microbenchmark
493 <span class=
"emphasis"><em>syknet
</em></span></a> from Alexander Temerev
<sup>[
<a name=
"fiber.performance.f1" href=
"#ftn.fiber.performance.f1" class=
"footnote">8</a>]
</sup>:
496 <a name=
"fiber.performance.performance_of_n_100000_actors_goroutines_fibers"></a><p class=
"title"><b>Table
 1.7.
 performance of N=
100000 actors/goroutines/fibers
</b></p>
497 <div class=
"table-contents"><table class=
"table" summary=
"performance of N=100000 actors/goroutines/fibers">
508 Haskell | stack-
1.0.4
513 fiber (single threaded/raw) | gcc-
5.2.1
518 fiber (single threaded/atomics) | gcc-
5.2.1
561 <br class=
"table-break"><div class=
"footnotes">
562 <br><hr width=
"100" align=
"left">
563 <div class=
"footnote"><p><sup>[
<a name=
"ftn.fiber.performance.f0" href=
"#fiber.performance.f0" class=
"para">7</a>]
</sup>
564 Intel Core2 Q6700, x86_64,
3GHz
566 <div class=
"footnote"><p><sup>[
<a name=
"ftn.fiber.performance.f1" href=
"#fiber.performance.f1" class=
"para">8</a>]
</sup>
567 Intel Core2 Q6700, x86_64,
3GHz
571 <table xmlns:
rev=
"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width=
"100%"><tr>
572 <td align=
"left"></td>
573 <td align=
"right"><div class=
"copyright-footer">Copyright
© 2013 Oliver Kowalke
<p>
574 Distributed under the Boost Software License, Version
1.0. (See accompanying
575 file LICENSE_1_0.txt or copy at
<a href=
"http://www.boost.org/LICENSE_1_0.txt" target=
"_top">http://www.boost.org/LICENSE_1_0.txt
</a>)
580 <div class=
"spirit-nav">
581 <a accesskey=
"p" href=
"integration/deeper_dive_into___boost_asio__.html"><img src=
"../../../../../doc/src/images/prev.png" alt=
"Prev"></a><a accesskey=
"u" href=
"../index.html"><img src=
"../../../../../doc/src/images/up.png" alt=
"Up"></a><a accesskey=
"h" href=
"../index.html"><img src=
"../../../../../doc/src/images/home.png" alt=
"Home"></a><a accesskey=
"n" href=
"custom.html"><img src=
"../../../../../doc/src/images/next.png" alt=
"Next"></a>