Hello,
I run the following code from Josh William's Blog:
http://blogs.msdn.com/joshwil/archive/2005/04.aspx
on a HP DL385 with dual 1.8Ghz Opteron's and on a HP rx5670 with dual 1.5Ghz Itanium2. Both machines are running 2003 SP1, and the final release of the respective .Net Framework 2.0. The executables were built release, Any CPU, with /optimize+. The idea behind this was to see what CLR was faster on what machine. Now, I was expecting the IA64 machine to be faster that the 1.8Ghz Opteron, or at least in line, but I was wrong! In some of the runs, like with a 256MB array, and copying double long's, the IA64 machine was taking more than double the time than the x64 machine. What's going on I can't believe for a minute that the x64 machine would be that much powerful than the ia64 server. Do we have an issue with the CLR in ia64, where it is not producing assembly code for the Itanium2 architecture as efficient as for the x64 architecture
I haven't experienced these issues with C or C++ programs, as long as proper alignment is taken care of, etc..
Any suggestions
Thanks,
Juan Miguel Rodriguez

Performance differences 2.0 Framework x64 vs. IA64
Andreas Sieber
Josh,
Thanks for the note. I will investigate doing that. In the case of some findings that are suspicious, how could this be reported so somebody that knows what is doing could look at this and potentially fix this in the .Net Framework if found to be a problem I don't know much about Itanium assembler myself to make a judgement on the quality of the code.
JuanMi
___AUTUMNS_ENDING___
Juan --
I haven't actually looked at the scenario in question, but I would start with windbg and sos.dll to try and look at the IA64 disassembly for the loops in question. It is possible that the JIT for IA64 doesn't generate code that is as good as the X64 JIT.
-josh