7 ms·
GraalVM truly has the potential to become the universal, interoperable VM. It would be rational for e.g Julia folks to migrate to the graalVM ecosystem and cotn
by The_rationalist 6y ago
GraalVM truly has the potential to become the universal, interoperable VM.
It would be rational for e.g Julia folks to migrate to the graalVM ecosystem and cotntribute to it instead of living on their small code island. They would get an un inimaginable amount of benefits in the process.
- toomanyducks 6y agoHow does a VM (JVM, GraalVM) compare to something like LLVM's IR? From your description as a ``universal, _interoperable_ VM`` it seems like they have some similar goals --- what are the reasons to write a compiler to a VM instead of with LLVM/IR?
- AlphaSite 6y agoI don’t think LLVM IR is really interoperable, is it?
- The_rationalist 6y agoGood question: GraalVM support taking LLVM IR as an input https://github.com/oracle/graal/tree/master/sulong https://github.com/oracle/graal/tree/master/sulong Which means that graalVM can support any llvm language almost out of the box (in theory) Llvm IR however has not been designed with inter language interoperability in mind or at least not enough. E.g rust has no transparant, complete, seamless and efficient interop with swift, go, c++, etc But in theory llvm is just an AOT and both AOT and JIT can enable true interoperability which is why graalvm support both a jit mode and an AOT mode. However JITs enable better performance at least for any high level, GCed language than would an AOT. Moreover, GraalVM through the truffle framework enable unprecedented language designer productivity. Through high level constructs the designers can be much more productive than in standard VM/AOT, which explains how with a few engineers Oracle has managed to reimplement Java, ruby, python, js and R in parallel in only a few years...
- kaba0 6y agoI’m not super knowledgeable on LLVM, but as far as I know while it did have at some point a VM runner, it is rather meant to abstract hardware for native compilation. The Java bytecode is much less specific. Also, LLVM IR is not really backward compatible, while Java bytecode is. (By the way Graal has sulong which actually runs LLVM IR on top of the JVM)
- jxy 6y agoI'll believe it when I see the performance.
- The_rationalist 6y agoHe were are, mostly one developper in only a few years has managed to create ~the fastest R runtime thanks to the graalVM infrastructure https://github.com/oracle/fastr https://github.com/oracle/fastr + it get polyglotism for free. See also graalphp: https://github.com/abertschi/graalphp/blob/master/results.md https://github.com/abertschi/graalphp/blob/master/results.md Oracle has managed to create a language framework that enable unprecedented performance and polyglotism but there are no human resources allocated to actually tuning the implementations. Without such framework imagining one developer to implement a language and expect it to outperform the reference vm made by an army of people through decades wouldn't be a realistic expectation but now anythings possible. Though it would be nice if others companies than Oracle understood the extent of this technological leap. Actually there is only one: shopify which invest in truffleruby https://pragtob.wordpress.com/2020/08/24/the-great-rubykon-benchmark-2020-cruby-vs-jruby-vs-truffleruby/ https://pragtob.wordpress.com/2020/08/24/the-great-rubykon-b...
- nerdponx 6y agoLast I checked (years ago), FastR was a one-developer research project that was way behind GNU R in terms of feature availability. Has that changed?
- galaxyLogic 6y agoIt is interesting Java was supposed to be write once run anywhere already some 20 years ago.
- The_rationalist 6y agoYou do realize the paradigm shift that enable language polyglotism? It is nothing like WORA
- galaxyLogic 6y agoI'm not sure I do. Isn't polyglotism about being able to write in different languages, and Java VM making that possible?
- The_rationalist 6y agoWORA is about coding in one language and running the code in any OS/hardware. Openjdk is one of the only language VM to support multiple languages (with coreclr). However the languages that compile to bytecode are not automatically interoperable between each other. Usually languages (scala, groovy, etc) have partial interoperability with Java and almost zero interop between each other (scala <-> kotlin, kotlin <-> groovy). Kotlin stands out by being the only language truly seamlessly compatible with Java. However graalvm is next generation because it enable languages to become easily and seamlessly interoperable with ALL other platforms languages at once. Graalvm is also revolutionary for its productivity (its a framework for building languages) and for its easy to get performance.
- galaxyLogic 6y agoI see. GraalVM sounds great. Thanks for the explanation
- zmmmmm 6y ago> Kotlin stands out by being the only language truly seamlessly compatible with Java Not sure I would agree with that - I think Groovy has at lest as good, maybe even better compatibility than Kotlin.
- nerdponx 6y agoNo language with a good quality C FFI is living on a "small code island".
- oblio 6y agoI've never seen or heard anyone major use GraalVM in production. I only hear Oracle and a small bunch of other folks hyping it. Tech also lives on hype and a long time until a tech reaches a critical mass is generally a band indicator (i.e. if something doesn't reach the mainstream in less than N years, it never will). There are some exceptions (Ruby took off after Rails was launched, Python was adopted by Linux distributions and it also had some decent web frameworks such as Django), but there's a reason we call exceptions exceptions. It's because they're exceptional, they're not the norm. Plus in the internet age (I don't count anything pre-2000 as internet age, since dial-up wasn't something most people wanted to live through) it's a lot more likely for something with a great future to be adopted quickly.
- vips7L 6y agoTwitter runs graal in production.
- ksec 6y agoAlso Shopify.
- oblio 6y agoInteresting, their core systems?
- saryant 6y agoyes
- aphexairlines 6y agoAlso Facebook https://mobile.twitter.com/FFarquet/status/1365700717051314176 https://mobile.twitter.com/FFarquet/status/13657007170513141...