Do everything in Java…

Russel Winder via Digitalmars-d digitalmars-d at puremagic.com
Sun Dec 21 01:59:56 PST 2014


On Sat, 2014-12-20 at 15:16 -0800, Andrei Alexandrescu via Digitalmars-d wrote:
> On 12/6/14 7:26 AM, Russel Winder via Digitalmars-d wrote:
> > Primitive types are scheduled for removal, leaving only reference 
> > types.
> 
> Wow, that's a biggie. Link(s)? -- Andrei

Simon Ritter laid out the OpenJDK/JCP/Oracle thinking way back in 2011 
in a number of conference presentations. cf. 
http://www.slideshare.net/JAX_London/keynote-to-java-se-8-and-beyond-simon-ritter page 41 has the explicit statement of goal for JDK10. OK so this was 
pre-JDK8 and reality has changed a bit from his predictions, but not 
yet on this issue.

There are changes to the JIT for JDK9 and JDK10 that are precursors to 
removing primitive types, so as to get rid of the last unnecessary 
boxing and unboxing during function evaluation. Expression evaluation 
is already handled well with no unnecessary (un)boxing.

Many see "value types" cf JEP 169 http://openjdk.java.net/jeps/169 as a
necessary precursor, but it is not exactly clear that this is actually 
the case. It's a question of which JIT is part of the standard 
reference implementation (OpenJDK) and what suppliers (e.g. Oracle, 
IBM, Azul, etc.) ship in their distributions.

Although the vast majority of Java is used in a basically I/O bound 
context, there is knowledge of and desire to improve Java in a CPU-
bound context. The goal here is to always be as fast as C and C++ for 
all CPU-bound codes. A lot of people are already seeing Java being 
faster than C and C++, but they have to use primitive types to achieve 
this. With the shift to internal iteration and new JITS, the aim is to 
achieve even better but using reference types in the code.

There are an increasing number of people from Oracle, IBM and Azul 
actively working on this, so it is a well-funded activity. Targeting 
JDK10 means they have 2 years left to get it right :-) 

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



More information about the Digitalmars-d mailing list