<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>Oh I think it's a perfectly reasonable test to do, and I do very
similar things to measure performance of providers. However, one has to
recognize that in a well written provider, the majority of time would be going
into the underlying database, which the provider writer can do very little
about. In the end, if performance is not good enough, one can always convert the
data to SDF for publishing as a map with MapGuide. :-)</DIV>
<DIV> </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 6:30 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=796352623-29102006><FONT face=Arial
color=#0000ff size=2>I've tried to loop 100 times and got little
difference not much.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=796352623-29102006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=796352623-29102006><FONT face=Arial
color=#0000ff size=2>I suppose this was not good test at the end, If I could I
would delete first email.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=796352623-29102006><FONT face=Arial
color=#0000ff size=2>And again, this was test for testing OSGEO.SHP provider
OSGEO.SDF provider and King.Oracle provider and not underlying
databases.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=796352623-29102006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=796352623-29102006><FONT face=Arial
color=#0000ff size=2>P.S.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=796352623-29102006><FONT face=Arial
color=#0000ff size=2>I now know why EULA is not allowing
everyone to publish test results. :)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=796352623-29102006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=796352623-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:48 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>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></BLOCKQUOTE></BODY></HTML>