<div dir="ltr">Hi,<div><br></div><div>After upgrading to scikit-learn 0.18 HashingVectorizer is about 10 times slower.<br><div><br></div><div>Before:</div><div><br></div><div><div>scikit-learn 0.17. Numpy 1.11.2. Python 3.5.2 AMD64</div><div>Vectorizing 20newsgroup 11314 documents</div><div>Vectorization completed in  4.594092130661011  seconds, resulting shape  (11314, 1048576)</div></div><div><br></div><div>After upgrade:</div><div><br></div><div><div>scikit-learn 0.18. Numpy 1.11.2. Python 3.5.2 AMD64</div><div>Vectorizing 20newsgroup 11314 documents</div><div>Vectorization completed in  43.587692737579346  seconds, resulting shape  (11314, 1048576)</div></div><div><br></div><div><br></div><div>Code:</div><div><br></div><div><pre style="color:rgb(0,0,0);font-family:"courier new";font-size:9pt"><span style="color:rgb(0,0,128);font-weight:bold">import </span>time, sklearn, platform, numpy<br><span style="color:rgb(0,0,128);font-weight:bold">from </span>sklearn.datasets <span style="color:rgb(0,0,128);font-weight:bold">import </span>fetch_20newsgroups<br><span style="color:rgb(0,0,128);font-weight:bold">from </span>sklearn.feature_extraction.text <span style="color:rgb(0,0,128);font-weight:bold">import </span>HashingVectorizer<br><br>data_train = fetch_20newsgroups(<span style="color:rgb(102,0,153)">subset</span>=<span style="color:rgb(0,128,128);font-weight:bold">'train'</span>, <span style="color:rgb(102,0,153)">shuffle</span>=<span style="color:rgb(0,0,128);font-weight:bold">True</span>, <span style="color:rgb(102,0,153)">random_state</span>=<span style="color:rgb(0,0,255)">42</span>)<br><br><span style="color:rgb(0,0,128)">print</span>(<span style="color:rgb(0,128,128);font-weight:bold">'scikit-learn {}. Numpy {}. Python {} {}'</span>.format(sklearn.<span style="color:rgb(178,0,178)">__version__</span>, numpy.version.full_version, platform.python_version(), platform.machine()))<br><br>vectorizer = HashingVectorizer()<br><span style="color:rgb(0,0,128)">print</span>(<span style="color:rgb(0,128,128);font-weight:bold">"Vectorizing 20newsgroup {} documents"</span>.format(<span style="color:rgb(0,0,128)">len</span>(data_train.data)))<br>start = time.time()<br>data = vectorizer.fit_transform(data_train.data)<br><span style="color:rgb(0,0,128)">print</span>(<span style="color:rgb(0,128,128);font-weight:bold">"Vectorization completed in "</span>, time.time() - start, <span style="color:rgb(0,128,128);font-weight:bold">' seconds, resulting shape '</span>, data.shape)<br></pre><pre style="color:rgb(0,0,0);font-family:"courier new";font-size:9pt"><br></pre><pre style="color:rgb(0,0,0);font-family:"courier new";font-size:9pt"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;white-space:normal">Should I submit a bug report?</span></pre><pre style="color:rgb(0,0,0);font-family:"courier new";font-size:9pt"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;white-space:normal">Thank you,</span></pre><pre style="color:rgb(0,0,0);font-family:"courier new";font-size:9pt"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;white-space:normal">Gabriel Trautmann </span><br></pre><pre style="color:rgb(0,0,0);font-family:"courier new";font-size:9pt"><br></pre></div><div><br></div><div><br></div><div><br></div></div></div>