Commit Graph

1840 Commits

Author SHA1 Message Date
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