Specific performance differences of certain features in Java and C# -


I'm currently testing Hibernate / doing some performance on Hibernate. Search with Lucene in Java and Pendant in C # Currently I am using the latest release of both versions.

I had some interesting results in the test but now what I am doing is to find some performance tests or to improve some explanation of possible performance differences in both languages. For example: I know that Generic is more efficient in C # because they do not use runtime on runtime because they are type-protected, besides two different lists with referenced types, JIT -Code can share in C #. So there is now a boxing-overhead in C #

This is an example I have searched for.

But I would like to know that there are more differences in those two languages ​​which can create performance differences. But I also need some references, because these tests will be summarized in a scientific paper.

I have got books about many papers / differences, but there is not much about performance differences in the specific shared facilities of these two languages.

But it is important to say that I am not just searching for some tests, but there is also a deep explanation why a language is faster than that feature.

Any hints and help!

There are a lot of separation in the C # language and, moreover, more about the compiler / platform. To know what programmers want, and then apply more optimization, as you told about a steady type of generic safe.

On the other hand, platform maturity is very important. JVM is generally much faster than NAT Runtime because garbage collection and optimization is more sophisticated and developed compared to NAT in Java, like today. Even in the absence of good language impairments, one platform can identify the pattern of the program and adapt accordingly.

But because they are similar to nature and use the same architecture, when deciding between C # or Java, the display is very small issue. Generally when someone has a display problem, he can select another algorithm, perform brilliantly or use better hardware.

If you want to write a paper about the language performance, then I recommend that you include C ++ and talk about the code better hardware resources (like special instructions ), Because they produce the top performance today, in some libraries to extract the CPU for some large-scale data operations, there are assembly-prepared routines. Ti are. Interpreted languages ​​can do more load-specific and hardware-specific optimizations, but said that the remaining optimizations are very static code analyzers.



Comments