<p>So, I ran diffs on a full planet. Unfortunately the results with the normal branch <a href="https://github.com/openstreetmap/osm2pgsql/commit/5ba712d15ba611e502840374b1bacbc72d830042" class="commit-link"><tt>5ba712d</tt></a> and threading <a href="https://github.com/openstreetmap/osm2pgsql/commit/a5755430392af3459d06ede91e9498b10bd18ae1" class="commit-link"><tt>a575543</tt></a> are not the same.</p>
<p>They're pretty close. <code>planet_osm_ways</code>, <code>planet_osm_rels</code>, <code>planet_osm_point</code>, and <code>planet_osm_polygon</code> all pass my tests, with all the statistics I compute being the same with both branches. <code>planet_osm_line</code> and <code>planet_osm_roads</code> differ. If forced to guess, I would guess it's something related to splitting long ways.</p>
<p>The relevant queries are</p>
<div class="highlight highlight-sql"><pre><span class="k">SELECT</span> <span class="k">COUNT</span><span class="p">(</span><span class="o">*</span><span class="p">),</span> <span class="k">SUM</span><span class="p">(</span><span class="n">ST_Length</span><span class="p">(</span><span class="n">way</span><span class="p">))</span> <span class="k">AS</span> <span class="n">st_length</span> <span class="k">FROM</span> <span class="n">planet_osm_line</span><span class="p">;</span>
<span class="k">SELECT</span> <span class="k">COUNT</span><span class="p">(</span><span class="o">*</span><span class="p">),</span> <span class="k">SUM</span><span class="p">(</span><span class="n">ST_Length</span><span class="p">(</span><span class="n">way</span><span class="p">))</span> <span class="k">AS</span> <span class="n">st_length</span> <span class="k">FROM</span> <span class="n">planet_osm_roads</span><span class="p">;</span>
<span class="k">SELECT</span> <span class="k">COUNT</span><span class="p">(</span><span class="o">*</span><span class="p">),</span> <span class="k">SUM</span><span class="p">(</span><span class="n">ST_Length</span><span class="p">(</span><span class="n">way</span><span class="p">))</span> <span class="k">AS</span> <span class="n">st_length</span> <span class="k">FROM</span> <span class="n">planet_osm_line</span> <span class="k">WHERE</span> <span class="n">highway</span><span class="o">=</span><span class="s1">'primary'</span><span class="p">;</span>
<span class="k">SELECT</span> <span class="k">COUNT</span><span class="p">(</span><span class="o">*</span><span class="p">),</span> <span class="k">SUM</span><span class="p">(</span><span class="n">ST_Length</span><span class="p">(</span><span class="n">way</span><span class="p">))</span> <span class="k">AS</span> <span class="n">st_length</span> <span class="k">FROM</span> <span class="n">planet_osm_roads</span> <span class="k">WHERE</span> <span class="n">highway</span><span class="o">=</span><span class="s1">'primary'</span><span class="p">;</span>
</pre></div>
<p>The results are</p>
<pre><code>Test Normal N=8 604 Threaded N=8 604 Difference
line count 82988137 82998741 -10604
line length 115470181512.839 115585071070.389 -114889557.6
road count 7743627 7744565 -938
road length 41246103355.6413 41261720915.1192 -15617559.48
primary line count 1320509 1320575 -66
primary line legnth 2734979047.75017 2734985654.309 -6606.55883
primary road count 1320509 1320575 -66
primary road length 2734979047.75017 2734985654.309 -6606.55883
</code></pre>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href='https://github.com/openstreetmap/osm2pgsql/pull/110#issuecomment-32048287'>view it on GitHub</a>.<img src='https://github.com/notifications/beacon/4046574__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcwNDkwODMzMywiZGF0YSI6eyJpZCI6MjE5OTM3MzZ9fQ==--e3d7c5759cd5d49c35bfa61b8389bf660a3bc6fb.gif' height='1' width='1'></p>