There was a thread on the /r/ruby subreddit where @headius lamented about how C extensions have hindered JIT and eventual plans to remove the GIL. @tenderlove chimed in with tentative plans to eventually move away from C extensions. If we could somehow rid ourselves of C extensions, this would make it easier for multiple Ruby versions to share the same GEM_HOME (ex: RVM/rbenv/chruby). You shouldn't have to delete/re-install all of your gems after upgrading ruby 3.1.5 -> 3.1.6.
Jean Boussier
@postmodern @headius @tenderlove
I don't think getting rid of C extensions is necessary for that.
The gemspec tells you a gem contains some native code, bundler/rubygems could on paper have some GEM_HOME that's the same for all ruby version and some NATIVE_GEM_HOME, that ABI specific.