Editorials

Java is Faster than Dot Net

Today I came across a thread on linkedin asking the question, “Is the java engine faster than Dot Net.” Intrigued I read further and found that the answer for that particular code was definitely Java was at least twice as fast. I’m not providing more detail because it wasn’t really the comparison that I came away with as being important. I pulled a lot of other points out of the different replies by developers, some of which I summarize below.

  1. Does it really matter when it comes to performance? The point was that sometimes it matters how fast something is. Other times, the speed of application performance is much less relevant than the speed of writing the software.
  2. We already don’t use the fastest coding tools today. For that reason, we don’t write all of our applications in Assembler like we did when we had very limited resources. Hardware, today, is much less expensive than the cost of paying developers.
  3. Use the tool(s) that best fit the solution being developed.
  4. Some code problems are more performant in one platform over the other. There are going to be things that Java or Dot Net out-perform over the other.
  5. Performance has not been the top priority in Dot Net. Instead they have focused on richness of libraries making complicated solutions easier to create. Consider features such as Linq and the parallel libraries that are not even a glimmer in Java resulting in higher performance of Dot Net on multi-threaded applications.
  6. There is a version of the CLR in development that not only results in JIT compilation, but actually compiles Dot Net code into native code which should begin to move performance closer to that experienced in C++.

Do you think performance is enough of an issue to determine what software stack to use? Why would you use Java or Dot net for your application? Share your thoughts here on by email to btaylor@sswug.org.

Cheers,

Ben