ホーム

  • ココナラでイラストを発注!SNSやブログのアイコンに可愛い、おしゃれな画像を使用してフォロー、アクセス増加!
  • その他、副業のためのサイト制作やブログ記事も買えます!
  • 今ならココナラ登録で300円分のクーポンもらえます。登録は1分以内で完了!

【スクリプト言語】「Ruby 3.1.0」がリリース 〜プロセス内JITコンパイラー「YJIT」をマージ

picture

1: こね速 2021/12/27(月) 14:02:56.62ID:CAP_USER

○set.watch.impress.co.jp/img/wf/docs/1377/364/image1.jpg
「Ruby 3.1.0」が正式リリース

 スクリプト言語「Ruby」の最新版「Ruby 3.1.0」が、例年通り12月25日に公開された。昨年リリースされた「Ruby 3.0」と高い互換性を保ちつつも、多くの機能が追加されている。

 なかでも注目は、Shopifyが開発した新しいプロセス内JITコンパイラー「YJIT」をマージ(機能を取り込むこと)したことだ。「Ruby」は2018年に「MJIT」をマージ(Ruby 2.6)して以降、パフォーマンスの改善を継続しており、昨年には「Ruby3はRuby2の3倍速くする」という目標「Ruby3x3」を達成した。しかし、比較的大規模な「Optcarrot」ベンチマークでは目覚ましい高速化を達成する一方で、現実の業務アプリケーションの性能はそこまで改善できていなかったという。これはMJITがメソッドベースのJITコンパイラであり、外部のCコンパイラーを利用しているのが原因のようだ。

 今回導入されたYJITは「Basic Block Versioning」という技術を用い、独自のJITコンパイラーを「Ruby」内部に持つ。まずメソッドの冒頭のみをコンパイルし、実行時に実際に値が渡されて引数や変数の値が明らかになってから残りをコンパイルするという手法を用いることで、動的プログラミング言語においても効率のよいJITを実現しているという。これは実際のアプリケーションの動作を改善するのに有用で、「railsbench」では最大22%、「liquied-render」では39%の高速化を達成しているとのこと。

 YJITはまだ実験的機能なため、初期状態では無効化されている。試してみたい場合には、起動オプションに「–yjit」を加えることで有効化可能。ただし、今のところx86-64環境のUnix系プラットフォームでのみ実行できる。

 そのほかにも、ハッシュリテラルやキーワード引数の値が省略可能にになるなど、言語機能が拡張された。また、完全に0から書き直された新しいデバッガー「debug.gem」が同梱されたほか、「error_highlight」という組み込みgemが導入され、バックトレース中に詳細なエラー位置を表示できるようになり、デバッグの効率が大きく向上。「IRB」では[Tab]キーなどを利用したオートコンプリートがサポートされた。

 「Ruby」は、まつもとゆきひろ(Matz)氏によって1993年に開発が始められたスクリプト言語。オープンソースで開発が続けられており、Webアプリケーションをはじめ、さまざまな用途・プラットフォームで採用されている。バイナリとソースコードは現在、公式のWebサイトから無償でダウンロード可能。Windows環境では「RubyInstaller for Windows」の利用が推奨されている。「Ruby 3.1.0」に対応した「RubyInstaller for Windows」はまだリリースされていないが、間もなく公開されるだろう。

□関連リンク
オブジェクト指向スクリプト言語 Ruby

オブジェクト指向スクリプト言語 Ruby

Ruby 3.1.0 リリース

オブジェクト指向スクリプト言語 Ruby

news/2021/12/25/ruby-3-1-0-released/
「RubyInstaller」スクリプト言語“Ruby”をWindows環境へ簡単にインストール – 窓の杜

窓の杜
「RubyInstaller」スクリプト言語“Ruby”をWindows環境へ簡単にインストールできるソフト

□関連記事
「Ruby 2」より3倍速い 〜「Ruby 3.0.0」が例年通りクリスマスにリリース

「Ruby 2」より3倍速い ~「Ruby 3.0.0」が例年通りクリスマスにリリース/パフォーマンス・並行処理・静的解析の3点を重点強化
 スクリプト言語「Ruby」の最新版「Ruby 3.0.0」が、例年通り12月25日に公開された。「Ruby 2.0.0」がリリースされた2013年から数えて、7年ぶりのメジャーバージョンアップとなる。

2020年12月25日

2021年12月27日 10:41
窓の杜

「Ruby 3.1.0」がリリース ~プロセス内JITコンパイラー「YJIT」をマージ/言語機能の強化やデバッグ機能の改善なども
 スクリプト言語「Ruby」の最新版「Ruby 3.1.0」が、例年通り12月25日に公開された。昨年リリースされた「Ruby 3.0」と高い互換性を保ちつつも、多くの機能が追加されている。

2: こね速 2021/12/27(月) 14:31:04.96ID:rHOENAui

ruby on railsが一時流行したものの、
その当時ruby on railsで組んだシステムを今はどの会社もメンテしたがらない、
みたいなこと聞いたけど、どうなんだろうか?

ruby on railsのせいで、いまいちrubyに興味をもてない。

6: こね速 2021/12/27(月) 15:06:52.86ID:nvbtIYAV

>>2
現状フロントエンドはReact一強だとおもうけど、バックエンドはRailsで新規の仕事はいっぱいあるよ。
まーRails7でフロントエンドも頑張るっぽいけど。

でも日進月歩の世界だし、ドレって言うより全部を身に着けないとって世界だと思う。
WAS○とかも視野に入れつつ広く習得した方がいいとは思う。

11: こね速 2021/12/27(月) 15:31:54.57ID:rHOENAui

>>6
railsで新規って聞かないなあ、、業界?によって違うんだな。

>>10
まずJavaScriptは最低限必要。これとは別にrubyやらpythonやらの知識も追加で必要。

13: こね速 2021/12/27(月) 15:37:55.94ID:ehOwEEkj

>>11
なるほど、javascriptは必修科目で知らなきゃ話にならんってことね
ドイツ語やフランス語を学ぶ前に英語((javascript)を学べって感じか

18: こね速 2021/12/27(月) 21:07:56.64ID:WssdJel7

>>13
JavaScriptはもともとはWebだけども今はそれだけにとどまらないからね
今は割となんにでも使用できるし中にはマクロとして使える製品もある
ひとつ覚えればいろいろと捗るやつ

3: こね速 2021/12/27(月) 14:42:44.60ID:sBuVlI7p

ニッチな言語は要員が足りなくなるからヤバイんよ

4: こね速 2021/12/27(月) 14:43:34.80ID:KlPSDO+Z

所詮傍流の言語
覚えるだけ無駄

5: こね速 2021/12/27(月) 14:54:14.89ID:VZToQ/G6

もうRubyは捨てろよ

7: こね速 2021/12/27(月) 15:10:42.12ID:NtAmf3l0

そんなIT土方みたいな仕事だれもやりたがらない

8: こね速 2021/12/27(月) 15:11:46.61ID:/HW6DkhL

新規の案件なんてあるんだろうか

9: こね速 2021/12/27(月) 15:18:47.15ID:ADBXj7je

railsがんばって勉強してるゾ
最初はイミフだったけどだんだん分かってきた
素人考えだけどパイソンよりrubyの方がわかりやすかったらruby選んだ

10: こね速 2021/12/27(月) 15:22:34.61ID:ehOwEEkj

javascriptとRuby学ぶならどっちが良いの?
ライブラリー対決ではjavascript優勢だからjavascript?

12: こね速 2021/12/27(月) 15:35:36.56ID:Msq75Bzx

誰も使ってない。。。

14: こね速 2021/12/27(月) 15:40:20.84ID:jYROzcKE

web板で意味不明に普及するガ○ジのおかげで印象が最悪な言語No.1

15: こね速 2021/12/27(月) 16:36:48.62ID:K4mnPC4N

Perl6と同じくらい素敵に見える

16: こね速 2021/12/27(月) 17:22:29.69ID:c368PhFr

railsバブルは終わったんじゃねえの?

17: こね速 2021/12/27(月) 20:58:18.80ID:WssdJel7

生存確認

19: こね速 2021/12/27(月) 22:53:35.21ID:yFrpNANe

無くても困らない言語

20: こね速 2021/12/28(火) 00:54:11.42ID:u+62VwAV

このスレの盛り上がらなさが
関心度を現してる、、

タイトルとURLをコピーしました