<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD>
<BODY dir=ltr>
<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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</DIV>
<DIV>Also,&nbsp;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>&nbsp;</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&nbsp;&nbsp;tried envelope but I 
  wanted&nbsp;to&nbsp;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>&nbsp;</DIV>
  <DIV dir=ltr align=left><SPAN class=781371422-29102006><FONT face=Arial 
  color=#0000ff size=2>If&nbsp;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>&nbsp;</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>&nbsp;</DIV>
  <DIV>Did&nbsp;you try an EnvelopeIntersects filter? That one is by far the 
  most common one,&nbsp;rather than&nbsp;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>&nbsp;</DIV>
  <DIV>Traian</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>Before I 
    wrote&nbsp;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>&nbsp;</DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>17565 features 
    read in case 1,2, 6681 fetaures&nbsp;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>&nbsp;</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,&nbsp;Fetch all&nbsp;attributes&nbsp;</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>SDF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.937 
    </FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>SHP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8.531 
    </FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>10GR2&nbsp;&nbsp;&nbsp; 18.172</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>XE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    18.500</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2></FONT></SPAN>&nbsp;</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,&nbsp;Fetch Geometry and Identity</FONT></SPAN></DIV></DIV>
    <DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>SDF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.031 
    </FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>SHP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.109 
    </FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>10GR2&nbsp;&nbsp;&nbsp; 1.938</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>XE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.735</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>Test Case 
    3:&nbsp; Geometry Filter, Fetch all attributes</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>SDF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    0.390</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>SHP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    3.391</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>10GR2&nbsp;&nbsp;&nbsp;&nbsp; 6.906</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>XE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    6.218</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV><SPAN class=656421321-29102006>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial size=2>Test Case 
    4:&nbsp; Geometry Filter, Fetch Geometry and Identity</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>SDF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    0.031</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>SHP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    0.140</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>10GR2&nbsp;&nbsp;&nbsp;&nbsp; 0.891</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2>XE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0.797</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2></FONT></SPAN>&nbsp;</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>&nbsp;</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&nbsp;XE on 
    localhost.</FONT></SPAN></DIV>
    <DIV><SPAN class=656421321-29102006><FONT face=Arial 
    size=2></FONT></SPAN>&nbsp;</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&nbsp;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),&nbsp;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&nbsp;little unusual&nbsp;), 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>&nbsp;</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>&nbsp;</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&nbsp;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>&nbsp;</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>&nbsp;</DIV></SPAN></DIV></SPAN></DIV></SPAN></DIV></SPAN></DIV></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>