<p>yes you are right! It is a lot slower than it could be. one of the main reason is, for each iteration we are checking the tolerance. Until the checking is done all the threads are stalling. It would be good if we check the tolerance  after some particular iteration(may be number of function). </p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly or <a href="https://github.com/mlpack/mlpack/pull/603#issuecomment-206808438">view it on GitHub</a><img alt="" height="1" src="https://github.com/notifications/beacon/AJ4bFApeAXa7WBYevUjyjqDa1NJMzjTZks5p1OGGgaJpZM4H_54U.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/mlpack/mlpack/pull/603#issuecomment-206808438"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>