<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD>
<BODY dir=ltr>
<DIV>OK. All I was saying is that EnvelopeIntersects does not incur a secondary
geometry filter processing for each feature in the SDF provider, which
Intersects does. I would have expected a significant difference between
Intersects and EnvelopeIntersects for the SDF provider. Also, EnvelopeIntersects
is what MapGuide uses to render every map.</DIV>
<DIV> </DIV>
<DIV>About the FGF thing -- yes SDF has the luxury of not having to convert
geometry formats, so in the limit, it would be faster than a provider that
converts, but (in my opinion) there are many other factors which have a much
bigger impact on performance, than a simple geometry conversion loop.</DIV>
<DIV> </DIV>
<DIV>Also, another question... How do you do the timing? If you use the
Windows clock, it has a resolution of 16 milliseconds, which makes the accuracy
of the 0.031 sec measurement for SDF very doubtful to me, unless you repeated
the operation 100 times and then took the total time and divided by 100, for
example.</DIV>
<DIV> </DIV>
<DIV>Traian</DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV><FONT size=2>-----Original Message----- <BR><B>From:</B> Haris Kurtagic
[mailto:haris@sl-king.com] <BR><B>Sent:</B> Sun 10/29/2006 5:18 PM
<BR><B>To:</B> users@mapguide.osgeo.org <BR><B>Cc:</B> <BR><B>Subject:</B> RE:
[mapguide-users] perfomance test<BR><BR></FONT></DIV>
<DIV dir=ltr align=left><SPAN class=781371422-29102006><FONT face=Arial
color=#0000ff size=2>Yes, I've tried envelope but I
wanted to try more complicated query (to use primary and secondary
filter in Oracle) and also couldn't see huge difference on this small
set.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=781371422-29102006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=781371422-29102006><FONT face=Arial
color=#0000ff size=2>If I understood you correctly you mean sdf provider
is not loosing time in converting to FGF format ?</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=781371422-29102006><FONT face=Arial
color=#0000ff size=2>I agree on that but that is format use in MG, so that is
one + for sdf :)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=781371422-29102006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=781371422-29102006><FONT face=Arial
color=#0000ff size=2>Haris</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Traian Stanev
[mailto:traian.stanev@autodesk.com] <BR><B>Sent:</B> Sunday, October 29, 2006
11:13 PM<BR><B>To:</B> users@mapguide.osgeo.org;
users@mapguide.osgeo.org<BR><B>Subject:</B> RE: [mapguide-users] perfomance
test<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV> </DIV>
<DIV>Did you try an EnvelopeIntersects filter? That one is by far the
most common one, rather than Intersects.</DIV>
<DIV>It is not surprising that SDF is fastest by far... The SDF provider does
not add any intelligence to the data and stores everything in FGF format so
you are basically getting back a pointer into database memory when you ask for
the geometry.</DIV>
<DIV> </DIV>
<DIV>Traian</DIV>
<DIV> </DIV>
<DIV> </DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV><FONT size=2>-----Original Message----- <BR><B>From:</B> Haris Kurtagic
[mailto:haris@sl-king.com] <BR><B>Sent:</B> Sun 10/29/2006 4:57 PM
<BR><B>To:</B> users@mapguide.osgeo.org <BR><B>Cc:</B> <BR><B>Subject:</B>
[mapguide-users] perfomance test<BR><BR></FONT></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>Hi,</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>After some
discussion's here on this list I got interested in comparing different data
source and fdo providers.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>So, I have used
an test application written as pure FDO client.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>I have run test
again sdf, shp , 10gr2 and xe, using osgeo sdf, shp and king.oracle
provider.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>Data used in
test is Sheboygan_Parcels.sdf from MG unittest data.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>Before I
wrote the results I would like to make strong point that this could be
altogether false results, I don't know anything about writing true fair
tests.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>As my lawyer
told me I should put in here : whatever is written is not promise, could be
wrong and ..... :)</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>17565 features
read in case 1,2, 6681 fetaures in 3,4</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>results are in
seconds</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>Test case 1:
</FONT></SPAN><SPAN class=656421321-29102006><FONT face=Arial size=2>No
geometry filter, Fetch all attributes </FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>SDF 0.937
</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>SHP 8.531
</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>10GR2 18.172</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>XE
18.500</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>Test case 2:
</FONT></SPAN></SPAN><SPAN class=656421321-29102006><SPAN
class=656421321-29102006><FONT face=Arial size=2>No geometry
filter, Fetch Geometry and Identity</FONT></SPAN></DIV></DIV>
<DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>SDF 0.031
</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>SHP 0.109
</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>10GR2 1.938</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>XE 1.735</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>Test Case
3: Geometry Filter, Fetch all attributes</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>SDF
0.390</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>SHP
3.391</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>10GR2 6.906</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>XE
6.218</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>Test Case
4: Geometry Filter, Fetch Geometry and Identity</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>SDF
0.031</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>SHP
0.140</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>10GR2 0.891</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>XE 0.797</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>Geometry Filter
was: <FONT size=2>SHPGEOM INTERSECTS GeomFromText('POLYGON ((-87.72 44, -86
44, -86 42, -87.72 42, -87.72 44))')</FONT></FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>and for SDF and
King.Oracle it returns same number of features 6683 which is
good</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>shape provider
returned : 6681 ?</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>Original SDF
file was copied to Oracle using that same tool, I call it
Fdo2Sdo.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>Oracle 10GR2 is
running on my same desktop in virtual machine and XE on
localhost.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>My
Remarks:</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>SDF is really
fast and highly optimized for this kind of queries. Test Case 4 would be the
most used case in real word app. and differences there are
smallest.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>I think if you
add overhead of MG and other overheads than influence would be even
smaller.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>I think these
tests are very unfavorable to Oracle.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>This test is run
with very small data set (just 17565 polygons), I believe much larger
data sets would be more preferable to Oracle.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>I also couldn't
run test with ordering or grouping (sdf,shp don't support it). I run this
test immediately after installing Oracle, not using any spatial index
optimization</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>and also
provider is not highly optimized as could be.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>Here I am
comparing file system to database ( it is little unusual ), It
would make more sense to test against other db.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>I will make this
tool freely available very soon, so you will be able to run test by your
self's, and also it would be nice to test other data sources and
providers.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006></SPAN><SPAN
class=656421321-29102006><FONT face=Arial size=2>I hope that someone will
find this tests useful.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>I
will welcome every comment on this and if I made this tests wrongly
please do tell me.</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2>Haris</FONT></SPAN></DIV>
<DIV><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV></SPAN></DIV></SPAN></DIV></SPAN></DIV></SPAN></DIV></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>