I wouldn't touch this with a ten-foot-pole without an explicit patent grant. Oracle has misbehaved too much in the past (and present) to ever be trusted again by the open source community in my opinion.
GraalVM: Run Programs Faster Anywhere
161–170 of 218 posts
Re: GraalVM: Run Programs Faster Anywhere
#162Earlier quoted context omitted.
Comparing Oracle to Google is like comparing China gov to US gov. They both do bad things, but they are not remotely the same, the difference is well over 10x. Recent story about Oracle exercising copyright over the word "javascript": https://news.ycombinator.com/item?id=16862949 Remember when Oracle sued Google for re-implementing the Java standard library. Remember the OpenOffice -> LibreOffice thing. Remember the…
> Comparing Oracle to Google is like comparing China gov to US gov. They both do bad things, but they are not remotely the same, the difference is well over 10x Ask that to the civil victims of drone attacks and Apache pilots having fun with civil convoys, as proven by many available video footage. > Recent story about Oracle exercising copyright over the word "javascript": https://news.ycombinator.com/item?id=168629…
Re: GraalVM: Run Programs Faster Anywhere
#163Earlier quoted context omitted.
Is there an existing embedding for node.js That's what their "node" program actually is. It's regular node but using GraalVM instead of V8. The semantic difference you're getting at doesn't seem to exist. I guess I was expecting a C/C++ API to be documented somewhere, not a Java API SubstrateVM has a C API that can be used to start it up that's not the same as JNI, however, bear in mind Graal can be used as a plugin…
> That's what their "node" program actually is. It's regular node but using GraalVM instead of V8. The semantic difference you're getting at doesn't seem to exist. No, because what I'm trying to accomplish is "I'm inside of a node.js program and I want to instantiate a GraalVM virtual machine instance context, load a random Java class (or whatever), and run a function on that class". Even if I'm running my node.js co…
So if you wanted to run JavaScript using GraalJS, from C, you would link against libjvm, use JNI to initialise the VM with Graal as the JIT compiler (there's a special flag for this), and then use the Polyglot API via JNI.
To bind from JavaScript to Polyglot without having Graal be the host would presumably require you to write a V8 extension that then loads the JVM using JNI and proxies back and forth. I think there are projects that do this already. But you wouldn't get the performance or convenience improvements than Graal/Truffle are pioneering.
In the end though, embedding the JVM this way - at least for node apps - would not be better or more efficient than using their node implementation, but ignoring things like performance and debuggability the results are presumably identical unless your code depends on an implementation detail of V8. So I don't get why you'd do that.
Re: GraalVM: Run Programs Faster Anywhere
#164Earlier quoted context omitted.
We are getting there, lots of things work right out of the box just fine. C extensions are still being actively worked on as they often need some amount of patching because of assumptions they make about types and so forth. I think we can reduce that, but I doubt it can will disappear entirely, but in the end I hope extension authors will test on TruffleRuby themselves and patch the code themselves.
Does that mean languages like Python and Ruby, which rely heavily on C extensions, will be waiting a long time to be fully compatible?
It's very hard to produce another Ruby implementation without breaking some of those assumptions, but we can hopefully get it down to a small set so the changes needed are minimal.
There are other things like throwing Ruby exceptions across C library boundaries which may work in MRI, but whose behaviour may not be intentional and could already have subtle problems, and I don't think we should be aiming for compatibility in those areas at all. Finding and fixing things like that is normally a good thing to do anyway.
Re: GraalVM: Run Programs Faster Anywhere
#165Earlier quoted context omitted.
Comparing Oracle to Google is like comparing China gov to US gov. They both do bad things, but they are not remotely the same, the difference is well over 10x. Recent story about Oracle exercising copyright over the word "javascript": https://news.ycombinator.com/item?id=16862949 Remember when Oracle sued Google for re-implementing the Java standard library. Remember the OpenOffice -> LibreOffice thing. Remember the…
> Comparing Oracle to Google is like comparing China gov to US gov. They both do bad things, but they are not remotely the same, the difference is well over 10x Ask that to the civil victims of drone attacks and Apache pilots having fun with civil convoys, as proven by many available video footage. > Recent story about Oracle exercising copyright over the word "javascript": https://news.ycombinator.com/item?id=168629…
The quote you posted was clearly sent to Apple by lawyers acting on Oracle's behalf, which was then forwarded to the developer by Apple.
Re: GraalVM: Run Programs Faster Anywhere
#166Earlier quoted context omitted.
Comparing Oracle to Google is like comparing China gov to US gov. They both do bad things, but they are not remotely the same, the difference is well over 10x. Recent story about Oracle exercising copyright over the word "javascript": https://news.ycombinator.com/item?id=16862949 Remember when Oracle sued Google for re-implementing the Java standard library. Remember the OpenOffice -> LibreOffice thing. Remember the…
> Comparing Oracle to Google is like comparing China gov to US gov. They both do bad things, but they are not remotely the same, the difference is well over 10x Ask that to the civil victims of drone attacks and Apache pilots having fun with civil convoys, as proven by many available video footage. > Recent story about Oracle exercising copyright over the word "javascript": https://news.ycombinator.com/item?id=168629…
I base this on the author's repeated use of the phrase "our client's IP".
Re: GraalVM: Run Programs Faster Anywhere
#167Can anyone comment on how mature the R and python support is? I'm coming at this from an ML/data science background, so anything that speeds up the above while maintaining broad library support would be a great help.
Re: GraalVM: Run Programs Faster Anywhere
#168Earlier quoted context omitted.
Comparing Oracle to Google is like comparing China gov to US gov. They both do bad things, but they are not remotely the same, the difference is well over 10x. Recent story about Oracle exercising copyright over the word "javascript": https://news.ycombinator.com/item?id=16862949 Remember when Oracle sued Google for re-implementing the Java standard library. Remember the OpenOffice -> LibreOffice thing. Remember the…
> Comparing Oracle to Google is like comparing China gov to US gov. They both do bad things, but they are not remotely the same, the difference is well over 10x Ask that to the civil victims of drone attacks and Apache pilots having fun with civil convoys, as proven by many available video footage. > Recent story about Oracle exercising copyright over the word "javascript": https://news.ycombinator.com/item?id=168629…
That's not true. If you read the text, the request comes from Oracle's lawyers. "our client's intellectual property":
> "As you are likely aware, Oracle owns US Trademark Registration No. 2416017 for JAVASCRIPT. The seller of this iTunes app prominently displays JAVASCRIPT without authorization from our client. The unauthorized display of our client's intellectual property is likely to cause consumers encountering this app to mistakenly believe that it emanates from, or is provided under a license from, Oracle. Use of our client's trademark in such a manner constitutes trademark infringement in violation of the Lanham Act. 15 U.S.C. § 1125(a)(1)(A). In order to prevent further consumer confusion and infringement of our client's intellectual property rights, we request that you immediately disable access to this app. We look forward to your confirmation that you have complied with this request."
Re: GraalVM: Run Programs Faster Anywhere
#169Earlier quoted context omitted.
I know that you are using Rails as a reference point so is there any ETA when will be most of the features usable ? (openssl,activerecord,nokogiri..etc) ?
OpenSSL and nokogiri already work pretty well. ActiveRecord works providing you have a database driver and I’ve got a rough set of patches for pg that I’m working on right now. I’m working on Discourse at the moment and can run the dB create and migrate tasks and I’m working on the asset compilation pipeline, but it’s all pretty rough and won’t be our final solution.
Re: GraalVM: Run Programs Faster Anywhere
#170I have been paying some scant attention to GraalVM for some time, having been excited by "universal VMs" for decades now (including setups like LLVM, which most people forget was designed as a JIT-compiled VM, despite that being in the name), and I develop Cycript (which is somewhat the "opposite" technology, binding together existing virtual machines all into the same process space and doing crazy interop; though I…
Is there an existing embedding for node.js That's what their "node" program actually is. It's regular node but using GraalVM instead of V8. The semantic difference you're getting at doesn't seem to exist. I guess I was expecting a C/C++ API to be documented somewhere, not a Java API SubstrateVM has a C API that can be used to start it up that's not the same as JNI, however, bear in mind Graal can be used as a plugin…
How feasible would it then be to use Graal NFI for FFI from vanilla Java? That seems useful given the performance limits of JNA and the complexity of JNI.