This is not any kind of flame bait thread.

I am hoping to get some unbiased information on the relative
performance difference between Java and Objective-C.

More specifically using up to date versions of the Java 6 JRE and
using an up to date GNUStep implementation of Objective-C both running
on Linux.

I can find quite a few articles with people comparing Java vs C++ but
I suppose Objective-C is more niche and tends not to be used in
comparisons.

I know that the opinion still prevails in many circles that Java is
slower and/or significantly slower than code written in C/C++. There
have been articles more recently stating that Java was capable of
outperforming C++ these days.

I am cautious with benchmarks because obviously if someone is trying
to prove a point, that person can be selective about using benchmarks
which support their case.

I know for example that Java has performance limits doing lots of
heavy floating point operations or trigonometry due to not using
native acceleration where it would cause the values to be less
accurate than required by the specifications (Though I believe this
was being addressed).

That used case may only apply to applications that use a lot of
floating point calculations. Many business web based or enterprise
applications may do very little floating point number crunching.

For the sake of context I am in a company that has a system where Java
is used with Servlets to provide a web front end to a system the core
of which is written in Objective-C running on GNUStep.

Considering the dates in some of the Java source I know the system
must have existed at least as long ago as the year 2000.
Back then the versions of Java would have been a lot slower. Java 6
included a big performance increase. It would have made sense back
then to argue that the Objective-C code was going to probably perform
better than Java. Now I don't think the difference would be as big. It
would be within my margin of error that Java may outperform Objective-
C due to compile time optimisation that can be done in Java that
cannot be done in Objective-C that is more geared towards dynamic,
runtime behaviour. In that case I would expect C++ to be faster than
Objective-C generally speaking.

I am hoping to get some feedback from the community to sanitise my
assumptions here.

I don't want to end up looking like an idiot if Objective-C
significantly outperforms Java.

The JNI overhead of having Java talk to Objective-C could cancel out
or more than cancel out any performance gains in Objective-C if the
difference is only slight. This depends also whether the cross
communication comprises of many small JNI calls vs few calls that do a
lot of processing before the call returns.

 Any performance information / experience would be helpful.

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to