Hello Tuscany Developers
Here at IBM Polska we wrote a patch for M3 addressing some performance issues. It is short, so please read it - I hope it is self-explanatory.
Main areas of our development were:
(1) DataFactoryImpl::findTypeImpl — we added new string hash based searching of types.
(2) TypeImpl — we added these maps:
std::map<const char*, int, TStrCmp> hmPropIdx; // property index by property name
std::map<unsigned int, PropertyImpl*> propByIdx; // property by index
(3) DataObjectImpl::getPropertyIndex(const Property& p) and DataObjectImpl::getProperty(unsigned int index) (make use of improvements in TypeImpl)
(4) SDOXMLWriter — we removed some conversions from std::list to std::vector that we thought were unnecessary.
I hope you will be able to apply this patch and include it in the next release. Let me know of you have any problems.