I have a .NET assembly(3.5 framework) and it basically has a set of custom controls which does a lot of things like plotting points and stuff like that. The assembly is compiled as 'AnyCPU' so that I can use it in both 32bit and 64bit. When I tried to compare the performance of an application that uses this assembly in 32bit and 64bit, I see interesting results. The application performance has 2 parts: One is the back end which does a lot of computations and data copying. The other is the actual drawing part on the control. Based on the results, it seems that the 1st part is faster in 32bit and while the 2nd part is faster in 64bit architecture. Can anyone explain this behavior? The data computation and copying part is slower in 64-bit is it because that the floating point arithmetic is slower in 64bit compared to 32bit?
PS: I benchmarked the application on 64-bit AMD machine with 8GB ram, with 32-bit and 64-bit Vista installed on it.