NEW FEATURE
RMatrix
class (from the RcppParallel package) to
allow for thread safe access to R matrices (#74, thanks @rorynolan).BUG FIX
BUG FIX
NEW FEATURES
ProgessCounter
(thanks @tylermorganwall)BUG FIX
BUG FIX
detectCores.cpp
.REQUIREMENTS
Systemrequirements: C++11
BUG FIX
NEW FEATURE
LdFlags()
to portably generate linker flags
for libatomic
/pthread
. See README for
details.NEW FEATURE
RcppThread::Rcerr
(#60, thanks to @appelmar).BUG FIX
BUG FIX
NEW FEATURES
Add R function detectCores()
(#48).
Add classes ProgressCounter
and
ProgressBar
for tracking progress in long- running loops
(#49).
Increased speed due to work-stealing and lock-free pops (#51, #52, #53).
Free-standing parallelFor()
and
parallelForEach()
functions now dispatch to a global thread
pool that persists for the entire session. This significantly speeds up
programs that repeatedly call these functions. (#54)
New free-standing push()
,
pushReturn()
/async()
, and wait()
,
mirroring functionality from ThreadPool
. (#56)
Option to resize a thread pool (#56).
Limit number of threads in unit tests.
Fixed typos in package vignette.
BUG FIXES
Fix portability issues related to
native_handle_type
.
Fix signed/unsigned comparison in
parallelFor()
.
Fix signed/unsigned warnings in unit tests.
DEPENDENCIES
NEW FEATURES
New vignette available, see
browseVignettes("RcppThread")
.
New functions parallelFor()
and
ForEach()
allowing parallel for
loops with
load balancing. Can also be called as method of a
ThreadPool
.
Options to override std::thread
and
std::cout
with RcppThread equivalents using preprocessor
variables RCPPTHREAD_OVERRIDE_THREAD
and
RCPPTHREAD_OVERRIDE_COUT
.
Several minor performance optimizations.
NEW FEATURE
ThreadPool::map()
that allows to map a
function a list of items.NEW FEATURE
ThreadPool
can now be instantiated with zero threads
in the pool. It will then do all work pushed to it in the main
thread.NEW FEATURE
ThreadPool
has a new method wait()
that
waits for all jobs to be done without joining the threads. This way the
thread pool can be re-used for different types of tasks that need to be
run sequentially.BUG FIX
DEPENDS
R (>= 3.3.0)
.BUG FIX
BUG FIX
Rcout
instance in header file
(#9; couldn’t link shared library on r-hub, see discussion in #8)