Hi,
I am a developer for a private company that does a lot of number crunching
for mapping technology. We have done a lot of testing and benchmarking
of C# vs C++. Here is what it boils down to. A well written and
knowledgeable C++ & X86 Assembler code Application is going to BARELY
out run (mind you, you have to use the CPU Specific instructions like
SSE3, FSINCOS, etc) vs a well written C# application. Most of the time, C#
is going to out run by default ANY C++ application, performance wise. 2
reasons why, and there are many more is How C# handles JIT and certain API
calls. Without going to a lot of details, C# does things underneath the
things calling a built in function These internal functions are written
by microsoft in very tight code. Also, if .NET detects certain CPU types
it will use that such instruction, example X86-32 bit vs 64 bit, something
that C++ does not do by default or dynamically. JIT compiles the code at
runtime... it doesn't interrupt the code. .NET was built differently
than java's bytecode in this aspect, it was built to compile the code, not
interpreter the code, which leads to a different mind set.
If you have performance questions or need help, you may feel free to
contact me via email.
Paul