Charles Oliver Nutter
headius at headius.com
Tue Jul 3 23:19:48 UTC 2018
I was going to start another thread, but I thought it made sense to reply here.
I see the justification for deprecating Nashorn is given as "it's too
hard to maintain". I'd like to understand if that's the real
justification or if the real truth is that the Truffle JS impl is
going to be preferred by Oracle going forward.
I am also curious, in that case, if the question is about performance.
I have been running JRuby -- a far less complex language
implementation than Nashorn -- atop Graal JIT with great results.
Numeric benchmarks are competitive with the Truffle implementation of
Ruby, and with better inlining and a bit of data structure
specialization I'd expect many more scenarios to perform well too.
Truffle goes a long way on the specialization and inlining front, but
the bulk of its gains appear to be from partial escape analysis --
gains I am seeing on JRuby without any modification.
I've just posted a blog entry about running JRuby on Graal JIT, which
shows how a mandelbrot algorithm is many times faster using
*unmodified* JRuby on Graal.
This is without JRuby doing any numeric specialization of code, which
Nashorn does very aggressively.
So what's the actual reason for deprecating Nashorn? Are we
deprecating having a standard JS shipped with OpenJDK, or are we just
picking a winner? Are we sure it's the right winner?
On Fri, Jun 15, 2018 at 3:50 PM, Paulo Lopes <pmartins at redhat.com> wrote:
> Hi Tony,
> By no means a solution, but at the vertx project I've managed to get a small layer that allows you to run the same script (unmodified) both on nashorn or Graal JS (not node)
> This is what we're experimenting to smoothly allow us to run on JDK8,9,10,11 and Graal.
> Original Message
> From: tonyzakula at gmail.com
> Sent: June 15, 2018 22:29
> To: jluzon at riotgames.com
> Cc: yikesaroni at gmail.com; nashorn-dev at openjdk.java.net
> Subject: Re: Nashorn deprecation
> Also replied to the thread. Our entire platform is built on Nashorn.
> Assumed it was the Java answer for JS on the Java runtime.
> On Mon, Jun 11, 2018 at 8:57 PM Jesus Luzon <jluzon at riotgames.com> wrote:
>> Is there any way to reply to a thread before I was subscribed? I'm pretty
>> much a noob when it comes to this mailing list process.
>> As for the deprecation, we use Nashorn heavily for our Edge transformation
>> layers and would need to find something that's at least backwards
>> compatible with our use case. Our use case is actually quite simple so I
>> think it would be easy to get functionality again, but would rather find
>> something that will last more than a few years without heavy maintenance.
>> On Mon, Jun 11, 2018 at 1:56 PM, Attila Szegedi <szegedia at gmail.com>
>> > Hey folks,
>> > the best thing you can do is answer to this thread on jdk-dev mailing
>> > list: <http://mail.openjdk.java.net/pipermail/jdk-dev/2018-June/
>> > 001338.html>. The JEP is a candidate, and they’re gathering feedback
>> > there. If there’s a lot of community feedback saying people use and
>> > on Nashorn, it’ll be taken into consideration. Lots of people have
>> > chimed in on that thread already saying they rely on Nashorn. If you can
>> > re-post your below messages in that thread, it’d be the best. If you are
>> > not subscribed to jdk-dev, you can do so at <
>> > mailman/listinfo/jdk-dev>.
>> > Paulo, your specific experience of already having tried to replace
>> > with GraalVM.js might be particularly significant.
>> > Best regards,
>> > Attila.
>> > > On 2018. Jun 11., at 21:35, Paulo Lopes <pmartins at redhat.com> wrote:
>> > >
>> > > Hi,
>> > > As the "core" developer of JS support for Vert.x this is quite some
>> > > shocking news as the project really relies on Nashorn for JS support.
>> > > I've been spending many hours to get GraalVM.js working and to some
>> > > extent we can run some unmodified application with it, but we're not
>> > > there yet. For example Nashorn dynalink and Multi threading support are
>> > > not there yet.
>> > > It would be nice to hear what's the ETA for the removal, will project
>> > > Detroit provide a JS script engine (ala Nashorn and will it be
>> > > available as a replacement?)...
>> > > Cheers,Paulo
>> > > On Mon, 2018-06-11 at 14:50 -0300, João Paulo Varandas wrote:
>> > >> Hello Yikes. Well pointed... that is a drag indeed.
>> > >> Any news on those questions?
>> > >>
>> > >> We are completely reliant to this feature in our platform, a lot
>> > >> ofsoftware customization is made using ECMAScript and runs on top
>> > >> ofNashorn/JDK8 currently. I was surprised and scared when I saw
>> > >> that.Hopefully, Jim will bring us good news.
>> > >>
>> > >>
>> > >>
>> > >>
>> > >>
>> > >> On Thu, Jun 7, 2018 at 9:31 AM, yikes aroni <yikesaroni at gmail.com>
>> > >> wrote:
>> > >> Hi i just read that Nashorn is being deprecated (JEP 335<http://openj
>> > >> dk.java.net/jeps/335>). First of all, that is a drag. Two(ish)
>> > >> questions:
>> > >> 1) So what is the last planned release of Nashorn? J9? It wasnt'
>> > >> clear fromthe JEP.
>> > >> 2) Is this deprecation specifically to make room for GraalJS? That
>> > >> is, isit the Oracle plan to sideline Nashorn and push forward GraalJS
>> > >> afully-supported, not-just-for-research GraalJS?
>> > >> Thanks. Important stuff to know for planning for projects dependent
>> > >> onNashorn / JS support in the JVM!
>> > >>
>> > >>
More information about the nashorn-dev