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
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
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
187a45a1de
update link in docu
2016-09-12 13:31:10 +02:00
Oliver Kowalke
ef485fb2b2
disable warning C4251 (MSVC)
2016-09-10 08:46:39 +02:00
oliver Kowalke
cde0791937
C++11 hint in README.md
2016-09-06 13:04:21 +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
db6702cd59
apply C++11 feature checks to build/jamfile.v2
2016-09-05 09:13:28 +02:00
Oliver Kowalke
b4e27bccb1
make timepoint_less operator const
2016-09-04 10:22:46 +02:00
Oliver Kowalke
e9144fba8e
remove warning in docu
2016-08-20 13:16:29 +02:00
oliver Kowalke
6a13a1e772
fix unit-tests regarding to returning moveable-only type
2016-06-27 11:15:05 +02:00
oliver Kowalke
f5dda504ae
fix test/Jamfile.v2 requirements
2016-06-17 08:26:08 +02:00
oliver Kowalke
4fbded4616
add boostdoc to doc/Jamfile
2016-06-15 08:17:09 +02:00
oliver Kowalke
975b11dc25
add index.htm
2016-06-07 08:14:02 +02:00
oliver Kowalke
dfef6a9bf4
add subdir meta
2016-06-07 07:58:25 +02:00
Oliver Kowalke
ae645b20c5
Update README.md
2016-05-26 05:54:42 +02:00
Oliver Kowalke
9add30c909
synchr. non-atomics via fence
2016-05-23 18:37:35 +02:00
oliver Kowalke
d37e26cd14
apply memory ordering in detaching/attaching a context
2016-05-23 11:19:24 +02:00
oliver Kowalke
18a69a77a6
Revert "replace atomic< scheduler > by raw pointer"
...
This reverts commit 4c8ccf384a .
2016-05-23 10:48:50 +02:00
oliver Kowalke
4c8ccf384a
replace atomic< scheduler > by raw pointer
...
- to synchronize, use a fence in scheduler::detach_worker_context()
and scheduler::attach_worker_context()
2016-05-23 09:02:01 +02:00
Oliver Kowalke
c9fd43549b
remove example work_stealing
2016-05-22 18:15:49 +02:00
Oliver Kowalke
1f81bc2a5f
Merge branch 'exp' into develop
2016-05-22 07:20:22 +02:00
Oliver Kowalke
826ad9165f
remove skynet_shared
2016-05-20 20:12:44 +02:00
Oliver Kowalke
b5f278df34
use std::mutex for locking operations
2016-05-20 18:34:09 +02:00
Oliver Kowalke
499aa325fd
Merge pull request #87 from nat-goodspeed/exp
...
Fix documentation about random_chase_lev et al.
2016-05-20 18:31:17 +02:00
Nat Goodspeed
155c803075
Fix documentation about random_chase_lev et al.
2016-05-20 11:39:28 -04:00
oliver Kowalke
7f18392f25
channels: wrap atomic by BOOST_FIBERS_NO_ATOMICS
2016-05-19 07:49:05 +02:00
oliver Kowalke
9b063bb722
make refcounter for channel-nodes thread-safe
2016-05-19 07:48:57 +02:00
oliver Kowalke
e610910b1e
channels: wrap atomic by BOOST_FIBERS_NO_ATOMICS
2016-05-18 09:05:58 +02:00
oliver Kowalke
726f690635
make refcounter for channel-nodes thread-safe
2016-05-18 08:33:24 +02:00
Oliver Kowalke
66e61eac4b
use std::mutex to protec remote-reqdy queue in scheduler
2016-05-16 21:29:25 +02:00
Oliver Kowalke
621de905f7
update comment
2016-05-16 14:32:38 +02:00