Products | Versions |
---|---|
TIBCO DataSynapse GridServer | - |
Not Applicable | - |
Resolution:
One or two customers have noticed performance problems when moving from 32-bit to 64-bit Windows services. These problems are severe: as much as a 2x slowdown in service execution time.
Our investigation for the customers in question has determined that there might be severe performance problems using the dynamic_cast operator in 64 bit windows code, particularly if you use dynamic_cast in a tight loop. Here is a Microsoft blog article which describes the issue - http://archives.windowshpc.net/blogs/dev_gen/archive/2006/10/17/647.aspx.
To summarize, the RTTI code only handles 32-bit pointers, in order to assure compatibility with existing 32-bit code. As a result, the dynamic_cast operator has to scan each and every DLL to see if the 32-bit RTTI information corresponds to a valid object in that particular DLL. This is not a recipe for good performance.