TIP: Click on subject to list as thread! ANSI
echo: apple
to: comp.sys.apple2
from: mdj
date: 2009-03-07 00:11:30
subject: Re: A 21st Century Apple II?

On Mar 6, 9:48=A0pm, apple2fr...{at}gmail.com wrote:

> Spectral-Norm =A061.22s (Java 6 client)
> Spectral-Norm =A026.32s (C++ Intel)
>
> That represents a 133% speed increase.

Actually, as I posted above, the results for this bench were:

1.0     Java 6 -Xms64m #2       2.89
1.5     C++ GNU g++ #2  4.47

> Mandelbrot =A04.98s (Java 6 client)
> Mandelbrot =A03.09s (C++ Intel)
>
> That represents a 61% speed increase.

And this:

C++ Intel #4 	2.54
Java 6 -server #3 	3.24
Java 6 -server 	3.25

> I could go on, but you get the point.

Well sure, if you don't actually *read* the benchmarks and see what
the results are you can pretend they say whatever you like ;-)

> Conversely, you'll be hard-pressed to find a benchmark where Java
> comes out ahead by more than a few percentage points.

See partial sums above, which you ignored when I posted it, then went
and looked for worse numbers that illustrated your point.

But whatever. Believe what you like :-)

> > Such is the way with language speed - never assume you're correct,
> > always check the numbers.
>
> See above.
>
> I have many years of professional programming experience using both C+
> + and Java. =A0I have run into many skeptics about Java's performance
> relative to C++ over the years, but in nearly every case they changed
> their minds after benchmarking various piece of code themselves. =A0Your
> best bet here is to point out that this isn't a big deal with today's
> processors and memory sizes because the facts don't support your
> claims that they are equivalent.

I didn't claim they were equivalent. I challenged your assertion that C
++ is always faster, provided evidence to the contrary, and showed
that the difference is not significant enough in most cases to use
performance as a selection criteria.

> > I'll also facetiously point out that the two benchmarks listed where
> > Java wins comprehensively are the only two that do either memory de-
> > allocation or disk I/O. parallel non-blocking memory deallocation will
> > always beat serialised deallocation for CPU time.
>
> You mean like the Partial-Sums benchmark above which does no memory
> allocation or disk I/O yet still outperforms the Java version by 501%?
>
> Don't forget to use the Intel C++ compiler if you want to compare
> results on an Intel CPU.

Why? I'm sure in some cases the GNU compiler produces better results.
That's just faith based reasoning.

Let's look at the binary tree benchmark from above (again) :

1.0	Java 6 -Xms64m #2 	2.89
1.5	C++ GNU g++ #2 	4.47
1.7	C++ Intel #2 	4.87

So here we have a comprehensive victory for Java, and the Intel
compiler being outperformed by the GNU compiler on Intel hardware.

Seriously, did you actually *read* these tests before posting them?

> > > Here I believe you are wrong. =A0I just loaded up Pages 2008 (Apple's
> > > version of MS Word) on my (Intel) Mac. =A0It has a RSS of 77 megabyte=
s,
> > > and is, I believe, implemented in Objective C (which is more-or-less
> > > equivalent to C++). =A0Next, I loaded up OpenOffice 3.0 (which is
> > > implemented in Java) and selected the word processor. =A0It has a RSS=
 of
> > > 130 megabytes, which is 69% larger. =A0Both pieces of software implem=
ent
> > > approximately equivalent sets of functionality. =A0This is far from t=
he
> > > few percent as you suggest.
>
> > I wasn't aware OpenOffice was rewritten from its original C++ to
> > Java ? It certainly does use Java to implement some extensions, so you
> > would get a memory increase from having the JVM loaded, but the lions
> > share of the codebase is C++
>
> OK, OpenOffice appears to by a hybrid of C++ and Java, so I admit that
> this comparison was wrong. =A0The memory footprints of the benchmarks
> still stand, however.
>
> I'm searching for a larger piece of code implemented in both C++ and
> Java to make the point.
>
> > Also, how is Objective-C equivalent to C++? In the same way Smalltalk
> > is equivalent to Python ?
>
> Well, sort of irrelevant give the above, but let me count the ways:
>
> 1) =A0Both were originally implemented as a front end to the C compiler
> 2) =A0Both are supersets of the C language
> 3) =A0Both support Object Oriented Programming

Point 2) here is false, and point 3) is an oversimplification.

> Where they are different, the difference usually results in Objective
> C running slower and using more memory than an equivalent C++ program
> (again, see the benchmarks which illustrate this point).

And of course, this is supported by Pages being smaller and faster
than Open Office :-P

> > I prefer utilitarian perspectives rather than religious ones for
> > language selection, which is to say I believe the problem domain (and
> > the existing environment the solution must live in) will provide all
> > the necessary metrics to make an informed choice, without having to
> > resort to my personal prejudices.
>
> Everyone says this, but they pick and choose the data points they look
> at which best illustrate their particular conviction.

Well, one of us clearly does :-)

Matt
--- SBBSecho 2.12-Win32
* Origin: Derby City Gateway (1:2320/0)
SEEN-BY: 10/1 3 34/999 120/228 123/500 128/2 140/1 222/2 226/0 236/150 249/303
SEEN-BY: 250/306 261/20 38 100 1404 1406 1410 1418 266/1413 280/1027 320/119
SEEN-BY: 393/11 396/45 633/260 267 712/848 800/432 801/161 189 2222/700
SEEN-BY: 2320/100 105 200 2905/0
@PATH: 2320/0 100 261/38 633/260 267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.