<div dir="ltr">Seems best to try a non-debug build...<div><br></div><div>To run in JTS you can use:</div><div><br></div><div>time bin/jtsop.sh -a ~/data/wsa.wkt -op OverlayNGRobust.unaryUnion <br></div><div><br></div><div>You should run off master for this (or a very recent pull)</div><div><br></div><div>Actually it's better to use </div><div><br></div><div>bin/jtsop.sh -time -a ~/data/wsa.wkt -op OverlayNGRobust.unaryUnion <br></div><div><br></div><div>That will time only the operation, excluding the I/O.</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 25, 2020 at 7:30 PM Paul Ramsey <<a href="mailto:pramsey@cleverelephant.ca">pramsey@cleverelephant.ca</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
> On Nov 25, 2020, at 6:41 PM, Martin Davis <<a href="mailto:mtnclimb@gmail.com" target="_blank">mtnclimb@gmail.com</a>> wrote:<br>
> <br>
> Actually OverlayNGRobust.unaryUnion will compare the current OverlayNG code to GEOS. However, OverlayNG is likely to be slower, in any case.<br>
> <br>
> So:<br>
> GEOS - 6.1 s<br>
> JTS 14.4 s<br>
> <br>
> That's an impressive difference in favour of GEOS.  I wonder why Paul's timings are so different?<br>
<br>
OMG, I wonder... I have a debug build of GEOS (because, you know, debugging). Is that it? Otherwise, are both tests (JTS and GEOS side) running through the OverlayNGRobust? I suppose I should ask: how do I run the JTS test? Then I can cut out the middleman and run them all myself?<br>
<br>
P<br>
<br>
> <br>
> On Wed, Nov 25, 2020 at 6:00 PM Daniel Baston <<a href="mailto:dbaston@gmail.com" target="_blank">dbaston@gmail.com</a>> wrote:<br>
> After collecting the inputs and writing to WKT:<br>
> <br>
> \copy (select st_astext(st_collect(geom), 18) from wsa_vi) to ~/data/wsa.wkt;<br>
> <br>
> I'm seeing 6 seconds in GEOS (not including WKT parsing)<br>
> <br>
> bin/perf_unary ~/data/wsa.wkt union<br>
> # Reading geometries from /home/dan/data/wsa.wkt<br>
> # Read 1 geometries.<br>
> # 6,137,885 usec<br>
> <br>
> vs 14s in JTS (including WKT parsing)<br>
> <br>
> time bin/jtsop.sh -a ~/data/wsa.wkt -op Overlay.unaryUnion   <br>
> # 14.43s user 0.47s system 202% cpu 7.354 total<br>
> <br>
> Dan<br>
> <br>
> <br>
> <br>
> On Wed, Nov 25, 2020 at 8:21 PM Paul Ramsey <<a href="mailto:pramsey@cleverelephant.ca" target="_blank">pramsey@cleverelephant.ca</a>> wrote:<br>
> <br>
> <br>
> > On Nov 24, 2020, at 5:01 PM, Regina Obe <<a href="mailto:lr@pcorp.us" target="_blank">lr@pcorp.us</a>> wrote:<br>
> > <br>
> > <br>
> >> All the performance talk is mostly because JTS still runs a lot faster<br>
> > than GEOS<br>
> >> for some bulk processing. My current test is a big union of watershed<br>
> >> boundaries, about 6MB of data, which takes about 20s under GEOS and<br>
> >> about 25% of that under JTS.  It's a big gap, and in theory the two code<br>
> > bases<br>
> >> are pretty aligned right now. Same overlayNG engine, etc. So I figure<br>
> > there<br>
> >> has to be a big implementation ball of performance hiding under the covers<br>
> >> somewhere. No luck thus far.<br>
> >> <br>
> >> I think we're close, looking forward to release :)<br>
> >> <br>
> >> P<br>
> >> _______________________________________________<br>
> >> geos-devel mailing list<br>
> >> <a href="mailto:geos-devel@lists.osgeo.org" target="_blank">geos-devel@lists.osgeo.org</a><br>
> >> <a href="https://lists.osgeo.org/mailman/listinfo/geos-devel" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/geos-devel</a><br>
> > <br>
> > You have your sample watershed data set.  Would like to test it out myself.<br>
> <br>
> <a href="https://www.dropbox.com/s/9ruvs6gxe3yl93c/wsa_vi.sql.bz2?dl=0" rel="noreferrer" target="_blank">https://www.dropbox.com/s/9ruvs6gxe3yl93c/wsa_vi.sql.bz2?dl=0</a><br>
> <br>
> I union all these. It takes about 20s on my Air. <br>
> <br>
> p<br>
> <br>
> > <br>
> > Thanks,<br>
> > Regina<br>
> > <br>
> > _______________________________________________<br>
> > geos-devel mailing list<br>
> > <a href="mailto:geos-devel@lists.osgeo.org" target="_blank">geos-devel@lists.osgeo.org</a><br>
> > <a href="https://lists.osgeo.org/mailman/listinfo/geos-devel" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/geos-devel</a><br>
> <br>
> _______________________________________________<br>
> geos-devel mailing list<br>
> <a href="mailto:geos-devel@lists.osgeo.org" target="_blank">geos-devel@lists.osgeo.org</a><br>
> <a href="https://lists.osgeo.org/mailman/listinfo/geos-devel" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/geos-devel</a><br>
> _______________________________________________<br>
> geos-devel mailing list<br>
> <a href="mailto:geos-devel@lists.osgeo.org" target="_blank">geos-devel@lists.osgeo.org</a><br>
> <a href="https://lists.osgeo.org/mailman/listinfo/geos-devel" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/geos-devel</a><br>
> _______________________________________________<br>
> geos-devel mailing list<br>
> <a href="mailto:geos-devel@lists.osgeo.org" target="_blank">geos-devel@lists.osgeo.org</a><br>
> <a href="https://lists.osgeo.org/mailman/listinfo/geos-devel" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/geos-devel</a><br>
<br>
_______________________________________________<br>
geos-devel mailing list<br>
<a href="mailto:geos-devel@lists.osgeo.org" target="_blank">geos-devel@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/geos-devel" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/geos-devel</a><br>
</blockquote></div>