Will Java go native?

deadalnix deadalnix at gmail.com
Thu Sep 19 04:38:34 PDT 2013


On Thursday, 19 September 2013 at 11:23:10 UTC, PauloPinto wrote:
> On Thursday, 19 September 2013 at 09:52:40 UTC, deadalnix wrote:
>> On Wednesday, 18 September 2013 at 21:33:50 UTC, Chris wrote:
>>> Seeing that more and more developers and companies look for 
>>> or actively develop native languages, I wonder will Java go 
>>> native one day? (Cf. 
>>> http://docs.oracle.com/cd/A97336_01/buslog.102/a83727/jtools5.htm)
>>>
>>
>> Java as some design decision that will make it perform worse 
>> natively than in a VM.
>>
>> Dynamic code loading + virtual by default is one example.
>>
>>> Is this Java's only chance to keep up with Go and Rust (and 
>>> D)?
>>
>> It certainly isn't unless the language is modified and a large 
>> amount of code is thrown away.
>
> Well, nothing that cannot be cured with PGO, just like in C++'s 
> case.
>

PGO do not allow finalization of method that can dynamically 
overriden. Only a JIT can do that.

The main difference between JIT and OAT optimizaer is that JIT 
can be optimistic, and fix later if it turns out to be wrong. AOT 
must consider the worst case scenario. The benefit of AOT being, 
obviously, to pay the cost ahead of time instead of at runtime.

In java, all classes are dynamically loadable, and most functions 
are virtual. This is a deal breaker for the AOT.


More information about the Digitalmars-d mailing list