Ruby 3.4正式リリース。YJITコンパイラの速度向上とメモリ削減、新パーサPrismがデフォルトに

今回は「Ruby 3.4正式リリース。YJITコンパイラの速度向上とメモリ削減、新パーサPrismがデフォルトに」についてご紹介します。

関連ワード (名前、意図、採用等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Ruby開発チームは2024年12月25日、Ruby 3.4.0の正式リリースを発表しました。

Rubyは毎年12月25日に新バージョンをリリースすることが恒例となっており、2024年も予定通りに新バージョンが登場しました。

fig

YJITコンパイラの速度向上とメモリ削減

Ruby 3.4ではJITコンパイラとして搭載されているYJITの速度向上と使用メモリ削減が実現されました。

Ruby 3.1でメインラインにマージされたYJITコンパイラは、ECサイト構築サービスを提供するShopifyが、大規模なRailsアプリケーションにおいてより高い性能向上を目指して開発したJITコンパイラです。

Ruby 3.4でのYJITは、x86-64とarm64の両方のプラットフォームにおいてほとんどのベンチマークのパフォーマンスが向上したこと、メタデータの圧縮と統一的なメモリ使用量制限によりメモリ使用量が削減されたことが報告されています。

「it」の追加

構文における新機能としては、ブロックパラメータに名前をつけずに参照する「it」が追加されました。下記のように、ブロック内で「_1」のみを使用する意図がある場合に、その代替として「it」を用いて分かりやすく記述できるようになりました。

パーサがPrismに、ガベージコレクタの動的ロード

また、ユーザーにはほとんど影響がない変更として、デフォルトのパーサがPrismに変更されました。

Rubyのパーサとは、Rubyのコードを解析し、Rubyランタイムで実行しやすい形式に変換するための処理などを担っています。

それ以外にも、Ruby関連ツールでRubyのコードを解析する場合、例えばコードエディタでRubyのコードを補完するための書きかけのコードを解析する処理や、Rubyのコードのフォーマットを整えるなどの関連ツールやライブラリでのRubyコードの解析、Javaで実装されたRubyであるJRubyなどさまざまなRubyの実装におけるコードの解析など、さまざまな場面でパーサが使われています。

Prismはこれまでのパーサとの互換性を保ちつつ、書きかけのコードのような不完全なコードであっても可能な限り解析できるエラートレラント性、さまざまな実装において利用しやすいような移植性、長期的に使い続けられるようなメンテナンス性のそれぞれを十分に満たすように開発が行われてきました。

そしてRuby 3.4でデフォルトのパーサとして採用されたのです。これによりRuby関連ツールやさまざまなRuby実装などにおいて今後の進化が容易になったと言えるでしょう。

その他の新機能として、Modular GC 機能によりRuby標準とは異なるガベージコレクタの実装を動的にロードできるようになりました。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
「Gmail」の概要カードで請求書を直接支払い可能に
IT関連
2025-02-20 23:35
アジャイルアライアンスがPMBOKなどを策定するプロジェクトマネジメント協会に加盟。「PMIアジャイルアライアンス」に
アジャイル開発
2025-01-08 15:53
今あらためて見直したいサイバーセキュリティ向上策–防御力を高める10の施策
IT関連
2022-03-02 07:15
日本IBM、日本企業での採用が進むTBMを解説–「Apptio」導入の広がりが背景に
IT関連
2025-02-22 13:44
「統合化」とセキュリティアーキテクチャの採用を提唱–チェック・ポイント
IT関連
2023-01-13 19:48
Apple、最新iOS「iOS 15」を発表 FaceTimeがAndroid、Windowsにも対応 (1/3 ページ)
IT関連
2021-06-09 20:52
壁のスイッチが切られてもPhilips Hueが操作可能になるモジュール登場
ハードウェア
2021-01-16 13:27
LINE、PCゲームの配信プラットフォームを日本でも展開 MMORPGなどを提供
企業・業界動向
2021-05-15 09:47
Google、AIでファイルの種類を高速正確に判別できる「Magika」をオープンソースで公開
Google
2024-02-19 17:43
Dockerの設定を大きく省力化する「Docker Init」コマンドが正式リリース。DockerfileやCompose設定ファイルなど自動生成
Docker
2024-02-09 13:29
沈黙の巨人、「写研」が動いた “愛のあるユニークで豊かな書体”がわれらの手に届くまでの100年を考える (1/3)
イラスト・デザイン
2021-01-22 02:07
日立製作所、「Lumada」を全社売上の半分以上に–「違和感なし」と首脳陣
IT関連
2023-06-15 04:52
デジタル定着化支援ツールは従業員ケアにも貢献–Pendo.ioの高山代表
IT関連
2022-01-21 14:46
Windows Subsystem for Linux(WSL)に新機能。使用メモリや仮想ディスクの自動縮退、LAN経由でWSLへ直接アクセス可能など
Linux
2023-09-20 07:41