[eigen-commits] commit/eigen: 3 new changesets

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen-commits Archives ]


3 new commits in eigen:

https://bitbucket.org/eigen/eigen/commits/ef8dbcb9e46d/
Changeset:   ef8dbcb9e46d
User:        rmlarsen
Date:        2017-03-09 23:41:03+00:00
Summary:     Make the non-blocking threadpool more flexible and less wasteful of CPU cycles for high-latency use-cases.

* Adds a hint to ThreadPool allowing us to turn off spin waiting. Currently each reader and record yielder op in a graph creates a threadpool with a thread that spins for 1000 iterations through the work stealing loop before yielding. This is wasteful for such ops that process I/O.

* This also changes the number of iterations through the steal loop to be inversely proportional to the number of threads. Since the time of each iteration is proportional to the number of threads, this yields roughly a constant spin time.

* Implement a separate worker loop for the num_threads == 1 case since there is no point in going through the expensive steal loop. Moreover, since Steal() calls PopBack() on the victim queues it might reverse the order in which ops are executed, compared to the order in which they are scheduled, which is usually counter-productive for the types of I/O workloads the single thread pools tend to be used for.

* Store num_threads in a member variable for simplicity and to avoid a data race between the thread creation loop and worker threads calling threads_.size().
Affected #:  2 files

https://bitbucket.org/eigen/eigen/commits/602b53d48480/
Changeset:   602b53d48480
User:        rmlarsen
Date:        2017-03-10 16:30:22+00:00
Summary:     Use C++11 ctor forwarding to simplify code a bit.
Affected #:  1 file

https://bitbucket.org/eigen/eigen/commits/174e09eed96c/
Changeset:   174e09eed96c
User:        rmlarsen
Date:        2017-03-10 16:48:20+00:00
Summary:     Get rid of Init().
Affected #:  1 file

Repository URL: https://bitbucket.org/eigen/eigen/

--

This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/