<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Message</TITLE>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2800.1276" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN class=403003918-01022005>Well it's good
to hear that GEOS isn't wildly different to JTS timings after
all.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=403003918-01022005></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=403003918-01022005>After some more
thought I think there may be some improvements which don't require implementing
smart ptrs and ref counting (not that these are bad things to do, they just take
time).</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=403003918-01022005></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=403003918-01022005>I suspect that heavy
use is being made of CoordinateSequence::getCoordinate, and that this is
resulting in many Coordinate objects being allocated. A better pattern for
callers is to preallocate a single Coordinate and then use
getCoordinate(Coordinate *) to retrieve coordinate values into it. (JTS
doesn't do this now, but will be moving to this style to reduce *its* allocation
of Coordinate objects).</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=403003918-01022005></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN
class=403003918-01022005></SPAN></FONT> </DIV>
<DIV> </DIV>
<DIV align=center><FONT face=Arial size=2><STRONG>Martin Davis, Senior Technical
Architect</STRONG><BR><STRONG><FONT color=#0000ff>Vivid Solutions
Inc.
<I>www.vividsolutions.com</I></FONT></STRONG><BR></FONT><EM><FONT face=Arial
size=2>Suite #1A-2328 Government Street Victoria, B.C. V8T 5G5<BR>Phone: (250)
385 6040 - Local 308 Fax: (250) 385 6046</FONT></EM></DIV>
<DIV> </DIV></BODY></HTML>