<p dir="auto">While running an example from recommender system package for movielens data, the performance of multithreaded parallel version does not seem to scale well.</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/2932535/14580833/f10bfc04-03f8-11e6-84f7-da20a35588a8.png"><img width="528" alt="screen shot 2016-04-16 at 5 30 01 pm" src="https://cloud.githubusercontent.com/assets/2932535/14580833/f10bfc04-03f8-11e6-84f7-da20a35588a8.png" style="max-width: 100%;"></a></p>
<p dir="auto">To run the example download the dataset from <a href="http://files.grouplens.org/datasets/movielens/ml-20m.zip" rel="nofollow">here</a>, unzip the files to any folder. Clone this <a href="https://github.com/abhijithch/RecSys.jl/">repository</a> and run the movielens <a href="url">example</a> in julia built with multithreading,</p>
<ul dir="auto">
<li>have a thread enabled julia build</li>
<li>include the julia <a href="https://github.com/abhijithch/RecSys.jl/tree/master/examples/movielens">file</a></li>
<li>set OPENBLAS_NUM_THREADS to 1</li>
<li>set JULIA_NUM_THREADS to desired number of threads</li>
<li>call the <code class="notranslate">test_thread(dataset_path)</code> method in the example script</li>
</ul>
<p dir="auto">I ran my <a href="https://github.com/ranjanan/MT-Workloads/blob/master/Logistic%20Regression/logreg.jl">Logistic Regression benchmark</a> for threads. Not sure if this is related to earlier issues or not, but I thought I'd post an issue anyway.<br>
Usually the output would be (on a version of master sometime in January)</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Warm up run : 25 iterations!
Time taken by serial implementation = 1.508228316
Time taken by parallel implementation = 0.429550363
Speedup over 4 threads : 3.5111792374390336"><pre class="notranslate"><code class="notranslate">Warm up run : 25 iterations!
Time taken by serial implementation = 1.508228316
Time taken by parallel implementation = 0.429550363
Speedup over 4 threads : 3.5111792374390336
</code></pre></div>
<p dir="auto">Now, with the current threaded build of master, it's this:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Warm up run : 25 iterations!
Time taken by serial implementation = 1.831504341
Time taken by parallel implementation = 42.974081761
Speedup over 4 threads : 0.04261881268774738"><pre class="notranslate"><code class="notranslate">Warm up run : 25 iterations!
Time taken by serial implementation = 1.831504341
Time taken by parallel implementation = 42.974081761
Speedup over 4 threads : 0.04261881268774738
</code></pre></div>