Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update trireme to latest Node #191

Open
ralleman opened this issue May 19, 2019 · 3 comments
Open

Update trireme to latest Node #191

ralleman opened this issue May 19, 2019 · 3 comments

Comments

@ralleman
Copy link

I was considering porting trireme to GraalVM which is mostly ES2019 compliant (i.e. scrapping Rhino), but trireme is supporting such an old version of Node that it's not worth the effort. Would Apigee be interested in starting a new project that does this, e.g. Trireme2?

@gbrail
Copy link
Contributor

gbrail commented Jun 7, 2019 via email

@ralleman
Copy link
Author

Thanks for the response @gbrail.

The biggest limitation to upgrading the Node version in Trireme is indeed
the speed at which JavaScript changes. I continue (with a lot of help) to
maintain Rhino and it continues to gain language features, although it is
not ready to run modern Node code yet.

This is where GraalVM is great, because the team is keeping up with the latest changes in JavaScript, so there's no need to do anything with JS support as a developer of a Trireme alternative. Keeping up with Node changes, is of course, a different issue.

It was 100 times faster for some use cases and 10 times slower for others

The GraalVM team are doing a lot of work in getting the performance of JS comparable to NodeJS, so hopefully it's not something anyone needs to worry about. In any case, performance is less important than capability IMO.

Finally, the GPL makes GraalVM pretty hard for a lot of organizations to
incorporate into open source.

Actually GraalVM is GPL with classpath exception, which makes it usable as an embeddable library in commercial applications. Being owned by Oracle though, there's always the worry that Oracle will change the licensing. I think the GraalVM team would be pretty upset if Oracle locked the licensing down because if they gave it a regular GPL license, it would probably result in the end of the project. At this stage, I can't see that happening.

@caoccao
Copy link

caoccao commented May 8, 2021

Changing JS engine is really hard. Usually, that implies throwing away half of the design. I managed to embed latest Node.js LTS in JVM in this project Javet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants