Sulong is an LLVM bitcode interpreter for the GraalVM polyglot runtime, enabling execution of C/C++ and other LLVM-based languages.
Sulong is an LLVM bitcode interpreter for GraalVM that enables execution of C, C++, and other LLVM-based languages within GraalVM's polyglot runtime. It allows these traditionally native languages to run on the GraalVM platform and interoperate with other supported languages like JavaScript, Python, and Ruby. The project solves the problem of language isolation by bringing C/C++ into a managed, multi-language execution environment.
Developers working with polyglot applications who need to integrate C/C++ code with other languages, and researchers exploring language interoperability and virtual machine design. Particularly useful for teams building applications that combine performance-critical C/C++ components with higher-level scripting languages.
Sulong provides unique value by enabling C/C++ code to participate in GraalVM's polyglot ecosystem with full interoperability capabilities. Unlike traditional approaches that require foreign function interfaces or separate processes, Sulong allows direct, high-performance interaction between C/C++ and other languages within the same runtime environment.
Obsolete repository. Moved to oracle/graal.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables direct interaction between C/C++ and other languages like JavaScript and Python within GraalVM, reducing the need for complex bridging code.
Utilizes GraalVM's advanced compiler optimizations to execute LLVM bitcode efficiently, offering better performance than standard interpreters.
Compatible with any language that targets LLVM bitcode, extending beyond C/C++ to include Rust, Swift, and more.
Now part of the main Graal repository, ensuring tight integration with GraalVM's ecosystem and continuous updates.
The original repository is deprecated, forcing users to work with the larger, more complex Graal repository for current versions and support.
Introduces the overhead of running on GraalVM, which may not be ideal for latency-sensitive or resource-constrained applications compared to native execution.
Heavily reliant on GraalVM, limiting adoption in environments that prefer other runtimes or have restrictions on JVM-based solutions.