<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> </DIV>
<DIV>If you are looping 16 times and then dividing the total time by 16, then
it's probably fine. Your timing includes both executing the select command
and then reading through the resulting feature reader?</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 5:40 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=109323322-29102006><FONT face=Arial
color=#0000ff size=2>Thank you for all your suggestions. This is my first test
so :)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=109323322-29102006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=109323322-29102006><FONT face=Arial
color=#0000ff size=2>Yes, I also think that other factors have more
influence.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=109323322-29102006><FONT face=Arial
color=#0000ff size=2>I' ve used <FONT size=2>clock() on windows and I ran it
in loop of 16.</FONT></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=109323322-29102006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=109323322-29102006><FONT face=Arial
color=#0000ff size=2>I suppose I should take some much larger data
set.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=109323322-29102006></SPAN><SPAN
class=109323322-29102006><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=109323322-29102006><FONT face=Arial
color=#0000ff size=2>Thanks,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=109323322-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:32 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>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></BLOCKQUOTE></BODY></HTML>