It’s this time of the year again where Ruby is released and everyone asks: Is it faster? You will find out below! And if you are interested, you can compare the results to the previous installations of this post for the years 2016, 2017, 2020 and 2021. This christmas Ruby 3.2.0 was released, featuring improvements across the board. The YJIT just in time compiler has been ported to Rust and can now
技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 昨日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.2.0 がリリースされました(Ruby 3.2.0 リリース)。今年も Ruby 3.2 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は以前の記事を見てください。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ プロと読み解くRuby 3.0 NEWS - クックパッド開発者ブログ プロと読み解く Ruby 3.1 NEWS -
Ruby 3.2.0 was released today! This is a perfect moment to check it out and see how YJIT behaves. I tested it out against Hanami test suite and then ran a bunch of benchmarks that we have in dry-rb projects and the results are absolutely fascinating! Hanami test suiteThis is a really representative test suite because it uses Hanami applications fully configured and tests a lot of the framework top
Posted by naruse on 25 Dec 2022 Ruby 3.2.0 が公開されました。Ruby 3.2では多くの機能を追加するとともに、様々な改善が行われています。 WASIベースのWebAssemblyサポート WASIベースのWebAssemblyへのコンパイルがサポートされました。これにより、ブラウザやサーバーレスエッジ環境、その他のWebAssembly/WASI環境でCRubyのバイナリが利用できるようになります。現在この移植版はThread API以外のbasic testとbootstrap testをパスしています。 Background もともとWebAssembly (Wasm)が導入されたのは、プログラムをブラウザの上で安全かつ高速に実行するためでした。しかし、様々な環境で安全かつ効率的にプログラムを実行するという目的は、Webだけでなく一般的なアプ
_ ...を*, **, &の構文糖にすると言ったな、あれは嘘だ Ruby Advent Calendar 2022の25日目の記事です。 昨日は羽角さんのirb.wasmの入力メソッドをSTDIOからRelineへ改修した話でした。 前回のあらすじ 前回の記事で、 Ruby 3.2で*と**が導入されましたが、当初は...と併用されることを想定しておらず、すこしいびつな仕様になっていました。 ...は*, **, &の構文糖であるというシンプルな仕様に修正しました。 と言っていました。ところが…… 遅くなった? 松田さんから*, **や...による委譲が遅いというissueが報告されました。 forwardableを使った場合に比べて2倍以上遅いとのこと。forwardableが何でそんなに速いかというとruby2_keywordsを使っているからで、前回の記事でも書いたようにFeatu
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? これはRubyアドベントカレンダー2022の22日目の記事です。 binding.irb のすすめ 8年前に 今更聞けないpryの使い方と便利プラグイン集 という記事を書き、そこから長い間 binding.pry を愛用していた。binding.irb も binding.pry も使ったことがないよ、という人はご一読をお勧めしたい。 当時PryにあったIRBに対する優位性のうち、時間が経っても常に使い続けた機能といえば binding.pryの存在、$ (show-source)、@ (whereami)、ls とその -G (gre
プログラミング言語Rubyの国内最大級のカンファレンス「RubyKaigi」。「RubyKaigi 2022」のKeynoteで登壇したのは、「Ruby」開発者のまつもとゆきひろ氏。「Contribute to Ruby」をテーマに、Rubyの歴史・これからについて語りました。全5回。4回目は、「Ruby 3.2」リリースにおけるパフォーマンス改善について。 「Ruby 3.2」におけるパフォーマンス改善まつもとゆきひろ氏(以下、まつもと):さて、みなさんの貢献をご紹介しておきましょう。2022年の年末に公開される予定の「Ruby 3.2」では、パフォーマンス改善がたくさん行われています。YJITもありますし、最近も「YJIT使ってめっちゃ速い」みたいなブログ記事が出ていました。 それから昨日のキーノートにありましたね、WASMで動くRubyという感じで。、私自身は、「WASMで動くように
What's new in Ruby 3.2's IRB? IRB 1.6 has been released and will become Ruby 3.2's built-in IRB version. It and a few recent releases include many enhancements @k0kubun and I made, and I want to introduce them in this article: New Commands In recent releases, we added a bunch of new commands to IRB: show_cmds show_doc edit debug and other debugging commands: break catch next delete step continue f
プログラミング言語Rubyの国内最大級のカンファレンス「RubyKaigi」。「RubyKaigi 2022」のKeynoteで登壇したのは、「Ruby」開発者のまつもとゆきひろ氏。「Contribute to Ruby」をテーマに、Rubyの歴史・これからについて語りました。全5回。2回目は、Rubyが生み出すMoneyと、ユーザーに期待するPublicityについて。 Rubyはお金(Money)という価値を生み出す言語に変化したまつもとゆきひろ氏:最後になりますが、最も重要なものは、お金ですね。 昔は、「RubyKaigi」とか「Ruby Conference」とか、みんな趣味で集まっていたんですね。 2001年に、最初のRuby Conferenceはフロリダ州のタンパというところでやりましたが、その時に来てくださった方は34人しかいなかったんですね。 (Ruby Conferen
■ Ruby の中にある解決できると嬉しい人が多分多いタフな問題 Ruby 開発チーム(コアチーム)には壺と呼ばれる、「これができるととても嬉しい」というネタを放り込む hackmd のページがあります。issue などにして作ったところで誰かが進めるわけでもないし、project にしても epic すぎるが、いつかは何かやりたいという大きさのものを思いついたらすぐに入れています。 今回は Ruby Advent Calendar 2022 の14日目の記事として、この壺の中から熟成された夢をいくつか取り出してご紹介します。 ライブラリのRactor 対応 Ruby 3.0 の目玉として入った Ractor ですが、Ruby のライブラリが Ractor で動くかというとまだわからない、むしろ動かないだろう、というステータスです。RubyGems や Bundler でネットワークアクセ
2022年10月5日に『深掘りRubyKaigi 2022 with ko1 & kateinoigakukun~ RubyKaigiどうでした&RubyのWASI/並列どうなるの? ~』を開催しました。イベントでお話した内容を3部作でお届けします。こちらはvol.2です。 ko1の発表「Making *MaNy* threads on Ruby」をざっくり fujimura:では、笹田さんのパートに移ろうと思います。笹田さん、どうぞよろしくお願いいたします。 ko1:よろしくお願いします。 fujimura:最初にRubyKaigiのトーク内容のざっくりまとめと、感想及びその後の反響をお願いします。 ko1:ざっくりしたまとめで言うと、RubyにM:Nスレッドを入れたいという話を発表しました。M:Nスレッドとは何かというと、ユーザーレベルスレッドライブラリと、カーネルスレッドのよさをハイ
Posted by naruse on 6 Dec 2022 Ruby 3.2.0 Release Candidate 1 が公開されました。Ruby 3.2では多くの機能を追加しています。 WASIベースのWebAssemblyサポート WASIベースのWebAssemblyへのコンパイルがサポートされました。これにより、ブラウザやサーバーレスエッジ環境、その他のWebAssembly/WASI環境でCRubyのバイナリが利用できるようになります。現在この移植版はThread API以外のbasic testとbootstrap testをパスしています。 Background もともとWebAssembly (Wasm)が導入されたのは、プログラムをブラウザの上で安全かつ高速に実行するためでした。しかし、様々な環境で安全かつ効率的にプログラムを実行するという目的は、Webだけでなく一般
■ 株式会社アンドパッドに転職した 今日、情報が解禁されました: https://andpad.co.jp/news/1623/ 以前からヘッドハンティングやスカウトがあった時に、ペパボに在籍していた時もミドル以上のマネジメントの採用は続けていたので、とりあえず話を聞いて市場感を探るということをやっていた。出てくる話としてはどこもエンジニアのトップマネジメントだけではなく、テックリード、エンジニアリングマネージャも全然足りんので採用したいという状態で「まあペパボと同じだよね」という感想で終わることがほとんどだった。 ただ、自分の場合は話をした先が Ruby をメインに使っている会社なら「自分をフルタイムの Ruby コミッターとして雇えないか」というのをここ数年ぶつけていて、大体の会社は「エンジニアリングマネージャを採用したいのに、OSS開発者はいるか?と言われても...」という困惑した顔
RubyKaigi2022 Day3で "String meets Encoding" というタイトルで話しました。 無事話すことができて良かったです。 スライド 後日YouTubeに動画がアップロードされると思うので、アップロードされたらそちらも貼ります。 きっかけ 本編中に話したとおり、RubyKaigi Takeout 2021 後に見たすとうさんのツイートです。ですが、読み違えていてすとうさんの元ツイは「String#encode高速化してほしい」だったのに「KEN_ALL.CSVを読み込むのが遅いのか…つまりCSV.readか?それを調査するか…よっしString#splitが30%近くかかってるな!これでプロポーザル出しちゃおう!」と読み違えたままその勢いでプロポーザル出しました。その後プロポーザルはアクセプトされ、全く気づかずにString#splitの速度改善してました。な
Ruby 3.2プレビュー2がリリース。WebAssembly版Ruby、ARM64版YJITなど対応 Ruby 3.2ではWebAssembly版Rubyの登場が予定されており、これまでリリースされてきたLinux版やWindows版、Mac版などのRubyに加えて、WebブラウザなどWebAssemblyの実行環境でRubyランタイムを実行し、そこでRubyのプログラムを実行可能になることが期待されています。 参考:RubyのWebAssembly/WASIへの移植が実現、プレリリース版のバイナリ公開。RubyGemsにも対応 WebAssembly版のRubyでは、ファイルI/OなどOSごとに異なるAPIを抽象化する業界標準仕様であるWASI(WebAssembly System Interface)に対応しているため、WebブラウザだけでなくWasmtimeやWasmerといったス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く