<div dir="ltr">Excellent news for GEOS... but I'm a little sad for JTS.  <div><br></div><div>Release FTW!</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 25, 2020 at 7:49 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">Well then, good news from me, since with a Release build, I can run that union in 4.7s in GEOS and 6.6s in JTS.<br>
w00T!<br>
Now I'm wondering if my other performance work, that yielded relatively little in Debug might be bigger winners in Release...<br>
P.<br>
<br>
> On Nov 25, 2020, at 7:37 PM, Martin Davis <<a href="mailto:mtnclimb@gmail.com" target="_blank">mtnclimb@gmail.com</a>> wrote:<br>
> <br>
> Seems best to try a non-debug build...<br>
> <br>
> To run in JTS you can use:<br>
> <br>
> time bin/jtsop.sh -a ~/data/wsa.wkt -op OverlayNGRobust.unaryUnion <br>
> <br>
> You should run off master for this (or a very recent pull)<br>
> <br>
> Actually it's better to use <br>
> <br>
> bin/jtsop.sh -time -a ~/data/wsa.wkt -op OverlayNGRobust.unaryUnion <br>
> <br>
> That will time only the operation, excluding the I/O.<br>
> <br>
> <br>
> On Wed, Nov 25, 2020 at 7:30 PM Paul Ramsey <<a href="mailto:pramsey@cleverelephant.ca" target="_blank">pramsey@cleverelephant.ca</a>> wrote:<br>
> <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>
> _______________________________________________<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>