Re: JVM vs. EXE comaprison
- From: "Remon van Vliet" <remon@xxxxxxxxxxxx>
- Date: Thu, 16 Jun 2005 17:46:19 +0200
"Jon Harrop" <usenet@xxxxxxxxxxxxxx> wrote in message
news:42b19429$0$41905$ed2619ec@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> Remon van Vliet wrote:
> > Startup time is added to the benchmark, and as such isnt measuring Java
> > execution performance.
>
> The benchmark clearly is measuring Java execution performance.
you're measuring startup + execution
>
> > Well it should be obvious that nested loops cannot be optimised further
by
> > a VM than run-time compiling (JITing) them and possible unroll smaller
> > loops. The server VM may and most likely will do this more aggressively.
>
> Then I would expect to see a performance improvement, which I don't.
Well i do, (see below)
>
> >> It would be neither fair nor representative to rerun the Java test many
> >> times.
> >
> > Untrue, if you're comparing execution speed then you should measure just
> > that. Startup time is not related to the speed at which the actual
> > computational code gets executed.
>
> It is, of course. And you'd be able to see the startup time on my graphs
> were it not for the fact that it is negligible.
We'll agree to disagree
>
> >> So the conclusion can only be that Java is not suitable for such
> >> applications.
> >
> > That conclusion is severely flawed in my opinion.
>
> I have presented objective, quantitative evidence supporting it.
So far not even the results are reproducable on my system. And i maintain
that if object creation is a problem for a language then just make sure you
dont do it that often. You can call this a workaround but fact remains that
creating thousands of objects on the fly continuously is bad practice in any
language.
>
> > Computationally
> > intensive programs do not by definition create a large number of
> > intermediate (or any other kind of) objects.
>
> Like 3D vectors?
An enormous amount of 3D vectors are used in my real-time raytracer, but
almost always are instances of such vectors reused in some way or form
without breaking up code clarity. It's a simple matter of knowing what
platform you're coding for.
>
> > The fact that applications
> > such as raytracing are computationally expensive are completely
unrelated
> > to object creation. In my experience matrices and vector objects can be
> > reused and pooled to a point where object generation is minimal.
>
> Then you're trying to work around a poor allocator and garbage collected.
> You don't have to do this in OCaml or SML. That is what I am trying to
> measure.
I thought you were measuring execution speed? If you use an approach
suitable for OCaml that is highly inefficient to do in Java then obviously
the benchmark results will reflect that. Note that i'm not argueing which
language is better or anything, i'm sure the above languages have their
benefits.
>
> > Also, if
> > there's one area where (JITted) Java code and C(++) code runs at
> > comparable speeds it's arithmetic/logic/computation.
>
> I'll try those next. What benchmark would show Java in the best possible
> light?
A raytracer is fine actually, but alternatives can be any form of solving a
computationally intensive problem is fine.
>
> > Finally, i did a test myself with the mentioned code (300) :
> >
> > -client :
> > // Setup :0.0s
> > // Raytracing (tracer.trace(size, ss)) :14.7s
> >
> > - server
> > // Setup :0.0s
> > // Raytracing (tracer.trace(size, ss)) :8.8s
>
> What's your setup, what values of n and level did you use?
I just ran RayTracing.java with args[0] = 300, it ran on a 1.5ghz Pentium 3
DELL notebook with 1gb memory within Eclipse IDE.
>
> --
> Dr Jon D Harrop, Flying Frog Consultancy
> http://www.ffconsultancy.com
.
- Follow-Ups:
- Re: JVM vs. EXE comaprison
- From: Jon Harrop
- Re: JVM vs. EXE comaprison
- References:
- Optimise my ray tracer
- From: Jon Harrop
- Re: Optimise my ray tracer
- From: Lasse Reichstein Nielsen
- JVM vs. EXE comaprison
- From: Vit
- Re: JVM vs. EXE comaprison
- From: Remon van Vliet
- Re: JVM vs. EXE comaprison
- From: Jon Harrop
- Re: JVM vs. EXE comaprison
- From: Remon van Vliet
- Re: JVM vs. EXE comaprison
- From: Chris Uppal
- Re: JVM vs. EXE comaprison
- From: Jon Harrop
- Re: JVM vs. EXE comaprison
- From: Remon van Vliet
- Re: JVM vs. EXE comaprison
- From: Jon Harrop
- Optimise my ray tracer
- Prev by Date: NoClassDefFoundError error
- Next by Date: Re: NIO
- Previous by thread: Re: JVM vs. EXE comaprison
- Next by thread: Re: JVM vs. EXE comaprison
- Index(es):
Relevant Pages
|