要約
YJIT (Yet Another Ruby JIT) の制御・情報取得のためのモジュールです。
YJIT は CRuby に組み込まれた JIT (Just-in-time compiler) コンパイラで、
Ruby 3.1 で実験的機能として導入されました([feature#18229])。
Ruby 3.2 で「実験的」の位置づけが外れ、Ruby 3.3 では実行時に有効化する
RubyVM::YJIT.enable が追加されるなど、以降のバージョンでも統計収集(--yjit-stats)やコンパイルログ(--yjit-log)まわりの機能追加が続いています。
有効化するには以下のいずれかの方法を使います。
* コマンドラインオプション --yjit
* 環境変数 RUBY_YJIT_ENABLE
* (Ruby 3.3 以降) RubyVM::YJIT.enable による実行時の有効化
このモジュールは、YJIT が対応していないプラットフォームでは定義されないことがあります。
なお、Ruby 4.0 で導入された新しい JIT コンパイラである ZJIT は
RubyVM::ZJIT という別のモジュールで提供されており、
RubyVM::YJIT とは別物です。
[SEE_ALSO] RubyVM::MJIT
目次
特異メソッド
enabled? -> boolRuby 3.1 から[permalink][rdoc][edit]-
YJIT が有効かどうかを返します。
RubyVM::YJIT.enabled? # => falseJIT の有効・無効はコマンドラインオプションや環境変数など実行環境に依存するため、実行結果は環境によって異なります。
reset_stats! -> nilRuby 3.1 から[permalink][rdoc][edit]-
--yjit-statsで収集した統計情報を破棄します。[SEE_ALSO] RubyVM::YJIT.runtime_stats, RubyVM::YJIT.stats_enabled?
runtime_stats -> Hash | nilRuby 3.1 から[permalink][rdoc][edit]-
--yjit-statsコマンドラインオプションを指定して収集した統計情報を返します。- [RETURN]
-
統計情報のハッシュを返します。統計収集が無効な場合は
nilを返します。
統計情報の内容(キー)はバージョンによって増減します。詳細はビルド時の設定やコマンドラインオプションに依存するため、本ページでは個々のキーの説明は省略します。
[SEE_ALSO] RubyVM::YJIT.stats_enabled?, RubyVM::YJIT.reset_stats!
stats_enabled? -> boolRuby 3.1 から[permalink][rdoc][edit]-
--yjit-statsが指定されているなど、統計情報の収集が有効かどうかを返します。[SEE_ALSO] RubyVM::YJIT.runtime_stats, RubyVM::YJIT.reset_stats!