<!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&nbsp;it's good 
to hear that GEOS isn't wildly different to&nbsp;JTS timings after 
all.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=403003918-01022005></SPAN></FONT>&nbsp;</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>&nbsp;</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.&nbsp; A better pattern for 
callers is to preallocate a single Coordinate and then use 
getCoordinate(Coordinate *) to retrieve coordinate values into it.&nbsp; (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>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=403003918-01022005></SPAN></FONT>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV align=center><FONT face=Arial size=2><STRONG>Martin Davis, Senior Technical 
Architect</STRONG><BR><STRONG><FONT color=#0000ff>Vivid Solutions 
Inc.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<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>&nbsp;</DIV></BODY></HTML>