<!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.5450.4" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=146461622-06112006><FONT face=Arial
color=#0000ff size=2>Did you try to use a map instead of a hash_map? I have
found (empirically) that in most cases std::map will perform better than
std::hash_map.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=146461622-06112006><FONT face=Arial
color=#0000ff size=2>Also for SDF I used a linear search approach --
look in PropertyIndex.cpp, line 121. The provider maintains a list of the
class properties and their data type for quick access. The advantage of this is
that if you list the geometry property first, you will be paying essentially no
overhead to get the index of the geometry property. However, linear hurts
more than std::map if you have a large number of attributes or you are getting
too many of them.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=146461622-06112006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=146461622-06112006><FONT face=Arial
color=#0000ff size=2>Traian</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=146461622-06112006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=146461622-06112006><FONT face=Arial
color=#0000ff size=2></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> Haris Kurtagic [mailto:haris@sl-king.com]
<BR><B>Sent:</B> Monday, November 06, 2006 5:08 PM<BR><B>To:</B>
users@mapguide.osgeo.org<BR><B>Subject:</B> RE: [mapguide-users] perfomance
test<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV dir=ltr align=left><SPAN class=437385821-06112006><FONT face=Arial
color=#0000ff size=2>Hi Jason,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=437385821-06112006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=437385821-06112006><FONT face=Arial
color=#0000ff size=2>I checked again about this slow attributes fetching,
and it was poor perfomance in provider. </FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=437385821-06112006><FONT face=Arial
color=#0000ff size=2>I have corrected it so this time instead of 18 sec is
6 sec.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=437385821-06112006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=437385821-06112006><FONT face=Arial
color=#0000ff size=2>btw:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=437385821-06112006><FONT face=Arial
color=#0000ff size=2>Problem was that FDO fetch properties using property name
and than you need to use strings to find right index in query result
set.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=437385821-06112006><FONT face=Arial
color=#0000ff size=2>I forgot about that one, I mantioned that already on
fdo dev list but forgot to optimize in provider. (Now using hash maps for
quicker finding match)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=437385821-06112006><FONT face=Arial
color=#0000ff size=2>To allow index based access to properties would be my
first fdo rfc when rfc's starts for fdo :).</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=437385821-06112006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=437385821-06112006><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> Jason Birch
[mailto:Jason.Birch@nanaimo.ca] <BR><B>Sent:</B> Sunday, October 29, 2006 11:18
PM<BR><B>To:</B> users@mapguide.osgeo.org<BR><B>Subject:</B> RE:
[mapguide-users] perfomance test<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV dir=ltr align=left><SPAN class=166210422-29102006><FONT face=Arial
color=#0000ff size=2>Haris,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=166210422-29102006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=166210422-29102006><FONT face=Arial
color=#0000ff size=2>Those are some really interesting results. I'd like
to see what happens with spatial index optimisation, but I am mostly wondering
why it took so much longer to pull all features/attributes, where index
optimisation would not have any effect. Was the database server running on
the same box as MapGuide? I'd also like to see what happens with some
attribute filters against a database that has proper column indexes created on
it.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=166210422-29102006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=166210422-29102006><FONT face=Arial
color=#0000ff size=2>What I found most interesting though is that you're working
on some commandline tools for FDO. That is something that is sorely
needed. An fdo2fdo tool would be nice too. Does Mateusz know
that you're working on this? He was looking for
some schema-ized data to test the PostGIS provider against a couple days
ago and I didn't have any. I'd also love to see the same kind of
performance comparisons run against the PostGIS provider when it's available,
and some profiling run against the code to see where most of the time is being
spent (in fdo, network, or database).</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=166210422-29102006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=166210422-29102006><FONT face=Arial
color=#0000ff size=2>Jason</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=166210422-29102006>
<DIV dir=ltr align=left><SPAN class=166210422-29102006><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=166210422-29102006><FONT face=Arial
color=#0000ff size=2>P.S. This kind of comparison might be OK if you are
comparing the King provider's performance against the SDF provider's
performance, but be careful about publishing performance tests for Oracle.
Their corporate lawyers don't like this kind of thing at all. Apparently
there's a clause in the EULA...</FONT></SPAN></DIV></SPAN></DIV><FONT face=Arial
color=#0000ff size=2></FONT><FONT face=Arial color=#0000ff size=2></FONT><FONT
face=Arial color=#0000ff size=2></FONT><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Haris Kurtagic<BR><B>Sent:</B> Sunday,
October 29, 2006 13:58<BR><B>To:</B> users@mapguide.osgeo.org<BR><B>Subject:</B>
[mapguide-users] perfomance test<BR></FONT><BR></DIV>
<DIV></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><SPAN class=656421321-29102006><SPAN
class=656421321-29102006><SPAN class=656421321-29102006><FONT face=Arial
size=2></FONT></SPAN> </DIV></SPAN></SPAN></SPAN></SPAN></DIV></BODY></HTML>