[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7867":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":15,"starSnapshotCount":15,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},7867,"truffleruby","truffleruby\u002Ftruffleruby","A high performance implementation of the Ruby programming language, built on GraalVM.","https:\u002F\u002Ftruffleruby.dev",null,"Ruby",3209,211,68,164,0,5,59.48,"Other",false,"master",[22,23,24,25],"graalvm","hacktoberfest","ruby","truffle","2026-06-12 04:00:36","![TruffleRuby logo](logo\u002Fpng\u002Ftruffleruby_logo_horizontal_medium_outlined.png)\n\nTruffleRuby is the [GraalVM](http:\u002F\u002Fgraalvm.org\u002F) high-performance implementation\nof the [Ruby programming language](https:\u002F\u002Fwww.ruby-lang.org\u002Fen\u002F).\n\n## Getting Started\n\nTruffleRuby comes in two distributions:\n\n* Native Standalone: This only contains TruffleRuby in the [Native configuration](#truffleruby-runtime-configurations).\n* JVM Standalone: This only contains TruffleRuby in the [JVM configuration](#truffleruby-runtime-configurations).\n  This includes support for other languages such as Java, JavaScript, Python and WebAssembly.\n\nYou can install either of those:\n\n* Via your [Ruby manager\u002Finstaller](doc\u002Fuser\u002Fruby-managers.md) (RVM, rbenv, chruby, asdf, mise, ruby-build, ruby-install).  \n  We recommend trying TruffleRuby dev builds which contain the latest fixes and improvements (replace `VERSION` by `dev`).\n\nNative Standalone:\n```bash\n$ rbenv install truffleruby-VERSION\n$ ruby-build -d truffleruby-VERSION ~\u002F.rubies\n$ asdf install ruby truffleruby-VERSION\n$ mise install ruby@truffleruby-VERSION\n$ ruby-install truffleruby\n$ rvm install truffleruby # or truffleruby-head\n```\nJVM Standalone:\n```bash\n$ rbenv install truffleruby+graalvm-VERSION\n$ ruby-build -d truffleruby+graalvm-VERSION ~\u002F.rubies\n$ asdf install ruby truffleruby+graalvm-VERSION\n$ mise install ruby@truffleruby+graalvm-VERSION\n$ ruby-install truffleruby-graalvm\n```\n\n* In CI with GitHub Actions, see [Testing TruffleRuby in CI](doc\u002Fuser\u002Ftesting-truffleruby-in-ci.md) for more details and other CIs.\n\n```yaml\n- uses: ruby\u002Fsetup-ruby@v1\n  with:\n    ruby-version: truffleruby # or truffleruby-head or truffleruby+graalvm or truffleruby+graalvm-head\n```\n\n* Via Docker.\n  For the Native Standalone there are [release & nightly images](https:\u002F\u002Fgithub.com\u002Ftruffleruby\u002Ftruffleruby\u002Fpkgs\u002Fcontainer\u002Ftruffleruby).\n  For the JVM Standalone there are no Docker images yet, but you can easily [download it](doc\u002Fuser\u002Finstalling-truffleruby.md) and take inspiration from the [Native Standalone Dockerfiles](https:\u002F\u002Fgithub.com\u002Ftruffleruby\u002Ftruffleruby\u002Fblob\u002Fmaster\u002Ftool\u002Fdockerfiles\u002Fstable.dockerfile).\n\n* Manually, by following the [documentation](doc\u002Fuser\u002Finstalling-truffleruby.md).\n\nYou can use `gem` and `bundle` to install gems, as usual.\n\nPlease report any issues you might find on [GitHub](https:\u002F\u002Fgithub.com\u002Ftruffleruby\u002Ftruffleruby\u002Fissues).\n\n## Aim\n\nTruffleRuby aims to:\n\n* Run idiomatic Ruby code faster.\n  * TruffleRuby is the [fastest Ruby implementation](https:\u002F\u002Feregon.me\u002Fblog\u002F2022\u002F01\u002F06\u002Fbenchmarking-cruby-mjit-yjit-jruby-truffleruby.html) for many CPU-intensive benchmarks.\n* Run Ruby code and native extensions in parallel.\n  * TruffleRuby does not have a global interpreter lock and runs both Ruby code and [thread-safe native extensions](doc\u002Fuser\u002Fthread-safe-extensions.md) in parallel.\n* Support C extensions.\n  * Many C extensions work out of the box, including database drivers.\n* Add fast and low-overhead interoperability with languages like Java, JavaScript, Python and WebAssembly.\n  * See the [Polyglot documentation](doc\u002Fuser\u002Fpolyglot.md).\n* Provide new tooling, such as debuggers and monitoring, that works across languages.\n  * Includes a profiler, debugger, VisualVM, and more. See the [Tools documentation](doc\u002Fuser\u002Ftools.md).\n* Provide all of the above while maintaining very high compatibility with the standard implementation of Ruby.\n\n## TruffleRuby Runtime Configurations\n\nThere are two main runtime configurations of TruffleRuby, Native and JVM, which have different trade-offs.\n\n| Configuration: | Native (`--native`, default) | JVM (`--jvm`) |\n| ------------------ | ------------: | ------------: |\n| Time to start TruffleRuby | about as fast as MRI startup | slower |\n| Time to reach peak performance | faster | slower |\n| Peak performance (also considering GC) | good | best |\n| Java host interoperability | needs reflection configuration | just works |\n\nTo find out which runtime configuration is being used, run `ruby --version` on the command line,\nor check the value of `RUBY_DESCRIPTION` or `TruffleRuby.native?` in Ruby code.\nRuntime configurations are further detailed in [Deploying TruffleRuby](doc\u002Fuser\u002Fdeploying.md).\n\n## System Compatibility\n\nTruffleRuby is actively tested on the following systems:\n\n* Oracle Linux 7, 8, 9\n* Ubuntu 18.04, 20.04, 22.04 (all LTS)\n* Fedora 37, 38\n* Debian 10, 11, 12\n* macOS 11 (Big Sur)\n\nArchitectures:\n\n* AMD64 (aka `x86_64`): Supported on Linux\n* AArch64 (aka `arm64`): Supported on Linux and on macOS\n\nYou may find that TruffleRuby will not work if you severely restrict the\nenvironment, for example, by unmounting system filesystems such as `\u002Fdev\u002Fshm`.\n\n## Dependencies\n\n* [make, gcc and g++](doc\u002Fuser\u002Finstalling-llvm.md) for building C and C++ extensions\n* [CA certificates](doc\u002Fuser\u002Finstalling-libssl.md) for the `openssl` C extension\n* [zlib](doc\u002Fuser\u002Finstalling-zlib.md) for the `zlib` C extension\n\nWithout these dependencies, many libraries including RubyGems will not work.\nTruffleRuby will try to print a nice error message if a dependency is missing, but this can only be done on a best effort basis.\n\nYou also need to set up a [UTF-8 locale](doc\u002Fuser\u002Futf8-locale.md) if not already done.\n\nSee the [contributor workflow](doc\u002Fcontributor\u002Fworkflow.md) document if you wish to build TruffleRuby from source.\n\n## Current Status\n\nWe recommend that people trying TruffleRuby on their gems and applications [get in touch with us](#contact) for any help they might need.\n\nTruffleRuby runs Rails and is compatible with many gems, including C extensions.\nTruffleRuby is not 100% compatible with MRI 3.4 yet. Please [report](https:\u002F\u002Fgithub.com\u002Ftruffleruby\u002Ftruffleruby\u002Fissues) any compatibility issues you might find.\nTruffleRuby [passes around 97% of ruby\u002Fspec](https:\u002F\u002Feregon.me\u002Frubyspec-stats\u002F),\nmore than any other alternative Ruby implementation.\n\nRegarding performance, TruffleRuby is [by far](https:\u002F\u002Feregon.me\u002Fblog\u002F2022\u002F01\u002F06\u002Fbenchmarking-cruby-mjit-yjit-jruby-truffleruby.html)\nthe fastest Ruby implementation on the [yjit-bench](https:\u002F\u002Fgithub.com\u002FShopify\u002Fyjit-bench) benchmark suite which includes `railsbench`, etc.\nTo achieve this performance TruffleRuby needs a fair amount of warmup, as other advanced JIT compilers do.\nIf you find any performance issue, please see [this guide](doc\u002Fuser\u002Freporting-performance-problems.md).\n\n## Releases\n\nTruffleRuby is released on its own schedule (based on features, important bug fixes, etc) and does not follow the GraalVM release schedule.\nTruffleRuby version `AB.C.D` aims to be compatible with CRuby `A.B`.\nFor example TruffleRuby 34.0.0 aims to be compatible with CRuby 3.4.\nThis way TruffleRuby is able to follow semantic versioning.\n\nThe last release which used GraalVM\u002FTruffle versioning is 25.0.0.\n\n### Compatibility Table\n\nTruffleRuby is compatible with the GraalVM versions in the following table.\nThe Truffle version is fixed and is a dependency of the `dev.truffleruby:truffleruby` Maven artifact, so it cannot be chosen.\nIt is, however, relevant when doing interop with other Truffle languages, as they must use the same version of Truffle.\n\n| TruffleRuby version | Truffle version | GraalVM versions |\n| --- | --- | --- |\n| 34.0.0 | 25.0.2 | 21.0.x, 25.0.x |\n| 33.0.0 | 25.0.1 | 21.0.x, 25.0.x |\n| 25.0.0 | 25.0.0 | 21.0.x, 25.0.x |\n\n## Migration from MRI\n\nTruffleRuby should in most cases work as a drop-in replacement for MRI, but you\nshould read about our [compatibility](doc\u002Fuser\u002Fcompatibility.md).\n\n## Migration from JRuby\n\nFor many use cases TruffleRuby should work as a drop-in replacement for JRuby.\nHowever, our approach to integration with Java is different to JRuby so you\nshould read our [migration guide](doc\u002Fuser\u002Fjruby-migration.md).\n\n## Documentation\n\nExtensive user documentation is available in [`doc\u002Fuser`](doc\u002Fuser).\n\nSee our [source code repository](https:\u002F\u002Fgithub.com\u002Ftruffleruby\u002Ftruffleruby) and\n[contributor documentation](CONTRIBUTING.md) to contribute to TruffleRuby.\nIn particular, see the [contributor workflow](doc\u002Fcontributor\u002Fworkflow.md)\ndocument for how to build and run TruffleRuby.\n\n## Contact\n\nThe best way to get in touch with us is to join the `#truffleruby` channel on\n[GraalVM Slack](https:\u002F\u002Fwww.graalvm.org\u002Fslack-invitation\u002F).\nYou can also mention or DM [@truffleruby.dev](https:\u002F\u002Fbsky.app\u002Fprofile\u002Ftruffleruby.dev) on Bluesky.\n\nPlease report security vulnerabilities via the process outlined in [SECURITY.md](SECURITY.md).\n\n## Authors\n\nThe main authors of TruffleRuby can be seen [on GitHub](https:\u002F\u002Fgithub.com\u002Ftruffleruby\u002Ftruffleruby\u002Fgraphs\u002Fcontributors?from=1%2F1%2F2014).\n\n## Security\n\nSee [SECURITY.md](SECURITY.md) for how to report security vulnerabilities.\nFor known vulnerabilities in Ruby, please refer to the [known-cves](doc\u002Fuser\u002Fknown-cves.md) file.\n\n## Licence\n\nTruffleRuby is copyright (c) 2013-2025 Oracle and\u002For its affiliates; 2026 TruffleRuby contributors,\nand is made available to you under the terms of any one of the following three licenses:\n\n* Eclipse Public License version 2.0, or\n* GNU General Public License version 2, or\n* GNU Lesser General Public License version 2.1.\n\nFor further licensing information, see [LICENCE](LICENCE.md), [3rd_party_licenses](3rd_party_licenses.txt), and [doc\u002Flegal\u002Flegal](doc\u002Flegal\u002Flegal.md).\n\n## Attribution\n\nTruffleRuby includes infrastructure code from [JRuby](https:\u002F\u002Fgithub.com\u002Fjruby\u002Fjruby) (e.g. JCodings, Joni), core library code from the [Rubinius](https:\u002F\u002Fgithub.com\u002Frubinius\u002Frubinius) project, as well as code from the standard implementation of Ruby, [MRI](https:\u002F\u002Fgithub.com\u002Fruby\u002Fruby).\n\n## Credits\n\nWe are thankful for JetBrains providing the TruffleRuby core maintainers an All Products Pack subscription.\nWe use IntelliJ and the Ruby plugin for a great integrated experience developing TruffleRuby.\n\n[![JetBrains logo.](https:\u002F\u002Fresources.jetbrains.com\u002Fstorage\u002Fproducts\u002Fcompany\u002Fbrand\u002Flogos\u002Fjetbrains.svg)](https:\u002F\u002Fjb.gg\u002FOpenSource)\n","TruffleRuby 是基于 GraalVM 构建的高性能 Ruby 编程语言实现。其核心功能包括无全局解释器锁支持并行执行 Ruby 代码和线程安全的本地扩展，以及对 C 扩展的良好兼容性。此外，TruffleRuby 通过 GraalVM 提供了与其他语言如 Java、JavaScript 和 Python 的高效互操作能力。适用于需要高性能计算、多语言环境整合或是对传统 Ruby 实现有更高性能要求的应用场景。",2,"2026-06-11 03:14:46","top_language"]