Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #24893 > unrolled thread

Java compilers

Started byOlurotimi Ajayi-Dopemu <rodopemu@gmail.com>
First post2013-08-03 10:29 -0700
Last post2013-08-03 20:05 +0100
Articles 4 — 4 participants

Back to article view | Back to comp.lang.java.programmer


Contents

  Java compilers Olurotimi Ajayi-Dopemu <rodopemu@gmail.com> - 2013-08-03 10:29 -0700
    Re: Java compilers Arne Vajhøj <arne@vajhoej.dk> - 2013-08-03 13:37 -0400
    Re: Java compilers Marcel Müller <news.5.maazl@spamgourmet.org> - 2013-08-03 20:01 +0200
    Re: Java compilers lipska the kat <"nospam at neversurrender dot co dot uk"> - 2013-08-03 20:05 +0100

#24893 — Java compilers

FromOlurotimi Ajayi-Dopemu <rodopemu@gmail.com>
Date2013-08-03 10:29 -0700
SubjectJava compilers
Message-ID<adfa1b2f-ad3b-4061-9fc0-ae166908a02b@googlegroups.com>
Are there Java compilers that allow the compiled code to be run from an existing operating system. IE compile source on linux run only on linux after compilation. This is mostly a speed question but if anyone can add pros or cons of this that would be great. Thanks a bunch.

[toc] | [next] | [standalone]


#24894

FromArne Vajhøj <arne@vajhoej.dk>
Date2013-08-03 13:37 -0400
Message-ID<51fd3fe1$0$293$14726298@news.sunsite.dk>
In reply to#24893
On 8/3/2013 1:29 PM, Olurotimi Ajayi-Dopemu wrote:
> Are there Java compilers that allow the compiled code to be run from
> an existing operating system. IE compile source on linux run only on
> linux after compilation. This is mostly a speed question but if
> anyone can add pros or cons of this that would be great. Thanks a
> bunch.

You mean a compiler that translate Java source code to binary
(AOT compiler).

There are certain products that does that. Jet Excelsior is one of
the more well known.

They have never really caught on.

The performance benefit is typical not existing or insignificant.

Arne


[toc] | [prev] | [next] | [standalone]


#24895

FromMarcel Müller <news.5.maazl@spamgourmet.org>
Date2013-08-03 20:01 +0200
Message-ID<51fd455f$0$6559$9b4e6d93@newsspool4.arcor-online.net>
In reply to#24893
On 03.08.13 19.29, Olurotimi Ajayi-Dopemu wrote:
> Are there Java compilers that allow the compiled code to be run from an existing operating system. IE compile source on linux run only on linux after compilation. This is mostly a speed question but if anyone can add pros or cons of this that would be great.

In most cases you can only loose.

The Java concept involves the JIT compiler that does exactly what you 
are describing, but on each run of the JVM. So the only thing you can 
save is the time for the JIT. You will agree, that this is always a O(1) 
Problem regarding one application, adding some constant time to an 
application run.

But on the other side there are several drawbacks.
First of all Linux is not Linux. There are different CPUs, different 
ABIs and so on. So if you compile for a target platform, it must either 
use the common denominator of a set of platforms or be specific to 
exactly one existing machine with exactly one kernel and so on.

Taking the common denominator of let's say linux ELF on x64 leaves 
different CPU features like AVX unused around.

Compiling for exactly one platform on the other side may result in code 
that will no longer run after slight changes, like new hardware or 
something like that.

So what are the benefits of precompiled byte code? Nu rule forbids 
caching of the JIT results by the JVM. So the benefit of precompiled 
code could be combined with the benefits of JIT. But as long as the time 
taken for JIT compilation is comparably small even that makes no sense.


Marcel

[toc] | [prev] | [next] | [standalone]


#24896

Fromlipska the kat <"nospam at neversurrender dot co dot uk">
Date2013-08-03 20:05 +0100
Message-ID<fLudnc14Y50eyWDMnZ2dnUVZ7oCdnZ2d@bt.com>
In reply to#24893
On 03/08/13 18:29, Olurotimi Ajayi-Dopemu wrote:
> Are there Java compilers that allow the compiled code to be run from an existing operating system. IE compile source on linux run only on linux after compilation. This is mostly a speed question but if anyone can add pros or cons of this that would be great. Thanks a bunch.
>

Well there's gcj (Gnu Compiler for Java)

For a class Test.java on my Linux box

$ gcj --main=Test -o Test Test.java

gives me a 64 bit ELF binary executable

and

$ Test

executes the code, no interpreter required.

lipska

-- 
Lipska the Kat©: Troll hunter, sandbox destroyer
and farscape dreamer of Aeryn Sun

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.java.programmer


csiph-web