Re: Serious issue



On Fri, 30 Jan 2009 14:16:03 +0000, Tilly<nospam@xxxxxxxxxx> wrote:


Why is java so slow compared to other languages performing the same tasks on the
same hardware?

(Please dont start a flame war I really want to know)

Tilly
-------------------------
Not the Hun

I am going to share my own experience and then I will bow out, because
it potentially leads to the same debates that have been going on for
years.

Similarly to your question, when working on real-world projects I
always found the performance of Java to be disappointing relative to
other languages. However on a day-to-day basis, my team and I began
to barely notice it, at least within the code my team was producing.
The fact that I loved the Java language itself might have biased my
judgement or allowed me to tolerate less than ideal performance.

However, customers seemed to always notice it. Performance was always
an issue. Nobody could say it was the quality of coding skill among
my team.. of the 12, three of them were uber-brilliant hotshots, most
were highly skilled, no more than two junior-level / trainee members
ever on a team.

The real turning point is where we converted a single application from
Java to C#.. Same team, same application, different language. The
the first C# version of the application was ported from the optimized
Java version to C# with very little optimization for the .Net
framework. It was not dramatically faster, but was noticably snappier
on the Windows platform. Then we noticed that with every subtle
optimization we added that took better advantage of the .Net platform,
we got amazing performance gains. This particular application began
to morph into a product that nobody ever complains about the
performance about anymore.

There are a few things to point out here. We were able to do that
because our customers are running Windows. We originally wanted a
cross-platform implementation for ease of porting to other platforms,
but the reality was that most customers were running our "platform
neutral" application on a single platform.

So my post is not really about Java vs. C# as much as it is about how
important it is to question whether it's really worth it to incur such
a massive performance penalty in order to reach such a small percent
of the market.

Our suite of products is now doing phenomenally from a sales and
customer satisfaction perspective. We NEVER came close to this level
of success when we were building on Java. What's even more exciting,
is that with a combination of Silverlight and C#, we are able to reach
very close to 99% of the market, since the plugin works the same
across all Windows and Mac browsers (Linux implementation on the way
but I'm not sure we care since most of the Linux marketshare is now
limited to server implementations).

So, without being willing to get in any sort of Java vs. C# debate, I
will just say that the portability of Java comes with very real
performance penalties, and a truly cross-platform solution is only the
right choice for a very small percentage of applications.
.



Relevant Pages

  • Re: beginner: Java or .NET?
    ... The professional market requires knowledge of platforms, not languages, so when you choose a language, you'll study its platform for your professional work. ... Java is a very clean language, and I would suggest it to beginners. ...
    (comp.lang.java)
  • Re: Basic inheritance question
    ... used 'this' in C++ and Java. ... but in Python it doesn't. ... you meant "in languages that has implicit instance reference available in methods"? ...
    (comp.lang.python)
  • Re: Looking for programming examples in any programming language
    ... in an in-page applet. ... do that for such a broad range of languages. ... But note even Java applets ... If you're going to separate the specific I/O environment from ...
    (comp.programming)
  • Re: Is anyone using Python for .NET?
    ... > number of other higher level languages. ... .NET is a platform, not a language. ... "C# is of course based on Java and a number of other higher level ... Sun associated the JVM with Java so that to use the JVM ...
    (comp.lang.python)
  • Re: Plattform independent queuing of computations
    ... The idea ist to put the computation jobs into a database which is read ... You can easily build a C program to do your computations in a platform ... True - but some languages like C# are platform dependent. ... Java, Perl and Python are all interpreted languages, while C is compiled, and will run faster. ...
    (comp.lang.php)

Loading