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