Miklos Szigetvari wrote:
We have converted our complex C++ document generation application to 64 bit mode. With different test cases, we see the average CPU time is about 4% higher in 64 bit mode as in 32,

This is not an altogether unexpected outcome. There are many possible reasons: your programs and data areas might be larger--thus taking longer to load/move/page, address translation involving a region 3rd will be slower than segment-only translation (imagine what would happen with region 2nd--stay below 4TB!), and so forth. All code might not be apples to apples either. For example, if any service you're calling uses BAKR for 64-bit callers, yet traditional STM/LAM, STAM/LAM, for 31-bit callers, it will run noticeably slower.

It might be worth using HIS or a commercial execution analyzer product to look for program "hot spots". We did that and found *one* instruction that was so slow, and executed so often, it brought our product to its "knees". Replacing that one instruction with a multi-instruction equivalent made the performance problem disappear. (Of course, this was an assembler language program. You might not have as much control with C++ over such things. But, the analysis can still be valuable.)

--
Edward E Jaffe
Phoenix Software International, Inc
5200 W Century Blvd, Suite 800
Los Angeles, CA 90045
310-338-0400 x318
[email protected]
http://www.phoenixsoftware.com/

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to