Live data from Hacker News

Sulong – A high-performance LLVM bitcode interpreter built on the GraalVM

github.com

1–10 of 18 posts

Re: Sulong – A high-performance LLVM bitcode interpreter built on the GraalVM

#5
A few potential use cases:

- Compile once, run anywhere for low-level languages like C++. With limitations, of course.

- More debugging capabilities. Maybe it could be used for dynamic analysis. Theoretically it should be possible to change code at runtime.

- Something like Valgrind? Valgrind is really complex and doesn't run on Windows at all. It seems like you could make a portable substitute with this.

- Maybe GraalVM can be used to provide additional memory safety guarantees, not sure.

Kind of hard for me to say because I don't actually know exactly what GraalVM provides, so it's kind of a guess. But it does seem like there are some genuine use cases beyond the neatness of it.

Re: Sulong – A high-performance LLVM bitcode interpreter built on the GraalVM

#6
post #3

How much faster/slower is it than aot code? I'm disapointed to see no benchmarks.

It's in the papers. About 20% slower.

The main use case seems to be speed up dynamic languages (ruby, python, javascript, R), and Sulong is used to handle the C extensions, so that the optimizations can be performed across the language boundaries. Unboxing and inlining mostly in the hot paths. Makes sense. Plus more memory safety than C/C++/Fortran.

Re: Sulong – A high-performance LLVM bitcode interpreter built on the GraalVM

#8
post #5

A few potential use cases: - Compile once, run anywhere for low-level languages like C++. With limitations, of course. - More debugging capabilities. Maybe it could be used for dynamic analysis. Theoretically it should be possible to change code at runtime. - Something like Valgrind? Valgrind is really complex and doesn't run on Windows at all. It seems like you could make a portable substitute with this. - Maybe Gra…

I believe that one compelling use case is to avoid the overhead of cross language boundaries (ie JNI) when the native code is compiled to bitcode and run with Sulong.

Re: Sulong – A high-performance LLVM bitcode interpreter built on the GraalVM

#10
post #8
post #5

A few potential use cases: - Compile once, run anywhere for low-level languages like C++. With limitations, of course. - More debugging capabilities. Maybe it could be used for dynamic analysis. Theoretically it should be possible to change code at runtime. - Something like Valgrind? Valgrind is really complex and doesn't run on Windows at all. It seems like you could make a portable substitute with this. - Maybe Gra…

I believe that one compelling use case is to avoid the overhead of cross language boundaries (ie JNI) when the native code is compiled to bitcode and run with Sulong.

I wonder if that's the point. I'm not sure, I was just making guesses myself since it doesn't seem the motivation is stated.
Post reply on HN