Oliver Kowalke
a822333a72
add performance test with pthreads
2016-11-17 08:37:36 +01:00
oliver Kowalke
c02951dc3d
documentation: reorder columns in performance table
2016-11-17 08:37:36 +01:00
Oliver Kowalke
5d2c4b701c
make pointer to scheduler an atomic type
2016-11-17 08:17:28 +01:00
xaqq
e9092f5d0d
Fix allocator-aware fiber::async() overload allocator forwarding.
...
The fiber::async() overload which is aware of allocator doesn't use the
allocator to contruct its internal fiber object.
Signed-off-by: Oliver Kowalke <oliver.kowalke@gmx.de>
2016-11-16 08:47:50 +01:00
oliver Kowalke
df8f8ac41f
documentation: perforamnce numbers of threads
2016-11-14 08:02:09 +01:00
Oliver Kowalke
1402998cf2
add performance test with pthreads
2016-11-12 13:23:20 +01:00
oliver Kowalke
1ea326d956
documentation: reorder columns in performance table
2016-11-11 07:46:34 +01:00
Oliver Kowalke
fa95a6afd2
Merge branch 'develop'
2016-11-10 19:46:01 +01:00
Oliver Kowalke
2f03181ea9
Merge pull request #95 from nat-goodspeed/develop
...
Retitle tables; remove mu from "systems".
2016-11-10 19:43:29 +01:00
Nat Goodspeed
5bf854eff6
Retitle tables; remove mu from "systems".
2016-11-10 10:34:55 -08:00
Oliver Kowalke
6a10579e95
documentation: use micro seconds for performance measurements
2016-11-10 18:59:59 +01:00
Oliver Kowalke
9ac7608e33
Merge pull request #93 from nat-goodspeed/develop
...
Editorial pass through updated performance.qbk.
2016-11-10 18:24:41 +01:00
Nat Goodspeed
f026de1458
Editorial pass through updated performance.qbk.
...
Also a couple of tweaks to referenced sections in scheduling.qbk.
2016-11-10 07:14:39 -08:00
oliver Kowalke
aae2da67dd
Merge branch 'develop'
2016-11-09 08:18:49 +01:00
oliver Kowalke
e7019e98a1
add deprecated (un)bounded_channel
...
- (un)bounded_channel are deprected
- added in order to get boost.fiber released with 1.63 (breaking change)
. will be removed or renamed in next release (1.64?)
2016-11-09 08:17:14 +01:00
Oliver Kowalke
290f1ff5ed
update documentation
...
- section performance updated
- subsection tweaking
2016-11-09 08:16:28 +01:00
Oliver Kowalke
3a5dd3b657
re-factor performance tests
2016-11-05 16:30:23 +01:00
oliver Kowalke
418f6c60b2
some adjustment of ttas spinlocks
2016-11-05 15:34:59 +01:00
Oliver Kowalke
fc054f3f97
intro of BOOST_FIBERS_SPIN_SINGLE_CORE
...
- if a multi-threaded app runs on single-core systems, cpu_relax()
makes no sense
2016-11-03 20:05:06 +01:00
Oliver Kowalke
fa071c27cf
use SPMC (chase-lev algoritm) for ready-queue (work stealing)
2016-11-03 11:05:51 +01:00
Oliver Kowalke
03e11d6538
spinlocks refactored
...
- use cpu_relax() to delay (using pause and equivalent mnemonic)
- exponential backoff if lock could no be acquired
- ttas, adaptive ttas
2016-11-03 11:05:05 +01:00
Oliver Kowalke
38f1bc5945
use MPSC queue for remote-ready-queue
2016-10-30 19:41:42 +01:00
Oliver Kowalke
b53e167a68
support for channels refactored
...
- buffered_channel: MPMC with lock-free guarantees
- unbuffered_channel: rendezvous point
2016-10-30 19:33:49 +01:00
Oliver Kowalke
88ce345ec3
BOOST_FIBERS_NO_ATOMICS disables remote-ready-queue
...
- remote-ready-queu is only used to signal the readyness of a fiber
by other threads (that to not own the signaled fiber)
2016-10-22 11:12:33 +02:00
Oliver Kowalke
b1f609ea60
Revert "macro BOOST_FIBERS_SPINLOCK_YIELD added"
...
This reverts commit 550c164773
.
- prevent CPU burning
- pause CPU while bussy waiting (pause() ... Linux kernel cpu_relax())
instead
2016-10-21 17:13:56 +02:00
Oliver Kowalke
39c4ec114e
use std::addressof() in shared_state
2016-10-16 19:43:56 +02:00
Oliver Kowalke
550c164773
macro BOOST_FIBERS_SPINLOCK_YIELD added
...
- if BOOST_FIBERS_SPINLOCK_YIELD is defined,
spinlock::lock() calls std::this_thread::yield() if busy waiting
2016-10-16 10:11:23 +02:00
Oliver Kowalke
b5b1f2dcbc
splinlock based on atomic
2016-10-15 15:36:28 +02:00
Oliver Kowalke
ce962f9688
(un)bounded_channel renamed to (un)bounded_queue
2016-10-13 20:17:01 +02:00
Rene Rivera
b46c0e8fe7
Add, and update, documentation build targets.
2016-10-10 11:39:49 -05:00
Oliver Kowalke
a251ba3878
update docu regarding to asio examples modification
2016-10-10 11:18:02 +02:00
Oliver Kowalke
97ce37e8e8
update asio examples
2016-10-10 08:50:10 +02:00
Rene Rivera
1a6b5afa42
Add, and update, documentation build targets.
2016-10-07 23:07:33 -05:00
Oliver Kowalke
1d3fa0583d
pass ecv2 as universal reference to context-fn
2016-10-07 19:53:23 +02:00
oliver Kowalke
95555e5a07
meta-info: C++11 library
2016-09-28 15:02:26 +02:00
oliver Kowalke
a54425ddaa
Merge branch 'develop'
2016-09-15 09:00:42 +02:00
oliver Kowalke
ce9e2bd8f0
build: apply defect macro for thread_local
2016-09-15 09:00:10 +02:00
oliver Kowalke
8497508c36
unite-tests: apply defect macro for thread_local
2016-09-15 08:59:22 +02:00
oliver Kowalke
e0d6b6c7fb
Merge branch 'develop'
2016-09-12 13:31:43 +02:00
oliver Kowalke
187a45a1de
update link in docu
2016-09-12 13:31:10 +02:00
Oliver Kowalke
75992eb876
Merge branch 'develop'
2016-09-10 10:50:30 +02:00
Oliver Kowalke
ef485fb2b2
disable warning C4251 (MSVC)
2016-09-10 08:46:39 +02:00
oliver Kowalke
015c10f662
Merge branch 'develop'
2016-09-06 13:04:45 +02:00
oliver Kowalke
cde0791937
C++11 hint in README.md
2016-09-06 13:04:21 +02:00
oliver Kowalke
83ee88c239
Merge branch 'develop'
2016-09-06 08:16:43 +02:00
oliver Kowalke
f9335eabb6
make thread-local context an impl. detail
...
- static thread-local variables can't be exported by DLLs
- make static thread-local variable 'active_' a member of
context_initializer
- context_initializer is declared and defined in the compilation unit
2016-09-06 08:14:27 +02:00
oliver Kowalke
2d325be713
Merge branch 'develop'
2016-09-05 09:14:57 +02:00
oliver Kowalke
db6702cd59
apply C++11 feature checks to build/jamfile.v2
2016-09-05 09:13:28 +02:00
Oliver Kowalke
76f15abbb1
Merge branch 'develop'
2016-09-04 10:23:32 +02:00
Oliver Kowalke
b4e27bccb1
make timepoint_less operator const
2016-09-04 10:22:46 +02:00