3 ms·
Also worth noting that the Ruby 3.2 Docker image can't run with YJIT yet, so if your production setup is in a container, it's most likely not using YJIT. GitHu
by simantel 4y ago
Also worth noting that the Ruby 3.2 Docker image can't run with YJIT yet, so if your production setup is in a container, it's most likely not using YJIT.
GitHub issue link here: https://github.com/docker-library/ruby/pull/398 https://github.com/docker-library/ruby/pull/398
- ufuk 4y agoThat's not correct: $ podman run -it -e RUBYOPT="--yjit" ruby:3.2 irb(main):001:0> puts RUBY_DESCRIPTION ruby 3.2.0 (2022-12-25 revision a528908271) +YJIT [aarch64-linux] => nil
- nickjj 4y agoIt was supported immediately for Alpine based images because rustc 1.60+ was available in that distro. Initially when 3.2 was released Debian based images didn't support it because Bullseye ships with a version of rustc that's too old to compile YJIT. But https://github.com/docker-library/ruby/commit/6db728e https://github.com/docker-library/ruby/commit/6db728e addressed this a few days ago by installing a pre-compiled version of rustc straight from Rust and YJIT is available in Debian now. You can confirm if it's available to use by running: $ docker container run --rm ruby:3.2.0-slim-bullseye ruby --enable-yjit -v ruby 3.2.0 (2022-12-25 revision a528908271) +YJIT [x86_64-linux] If it weren't available then you would get an unknown argument error.
- sitkack 4y ago$ docker container run --rm ruby:3.2.0-slim-bullseye ruby --enable-yjit -v ruby 3.2.0 (2022-12-25 revision a528908271) +YJIT [aarch64-linux] Runs on Arm as well!