@ledsun blog

無味の味は佳境に入らざればすなわち知れず

RubyKaigi2022

Ruby meets WebAssembly

rubykaigi.org ご本人のブログです。 発表資料もあります。 kateinoigakukun.hatenablog.com CRubyをruby.wsmにコンパイルしてブラウザ上で動かせるようにした人の発表です。 https://github.com/ruby/ruby.wasm/blob/main/packages/npm-packages/ruby-wasm-…

Making *MaNy* threads on Ruby

rubykaigi.org 発表資料です。 Koichi Sasada: Making *MaNy* threads on Ruby,RubyKaigi 2022, Mie, Japan (2022.09).https://t.co/MEdnXw2DQ5https://t.co/dBeJ2PszW2#rubykaigi— Koichi Sasada (@koichisasada) 2022年9月8日 twitter.com この記事を書く…

Binding a Lightweight IR and Backend for YJIT

rubykaigi.org 現在のYJITはx86アーキテクチャのCPUだけをサポートしています。 arm64やRISC-Vをサポートしようと考えています。 Rubyのinstructions と機械語の間にYJIT IRという中間層を設けて、CPUアーキテクチャの差異を吸収する作戦だそうです。 つまり…

Tools for Providing rich user experience in debugger

rubykaigi.org Google Chromeの開発ツールでRubyをデバッグ出来るようにした人の話です。 debug.gem and Chrome browser integration.Thanks Ono-san! pic.twitter.com/3aUdH2zbEo— _ko1 (@_ko1) October 14, 2021 このOno-sanです。 2021年度Rubyアソシエー…

Towards Ruby 4 JIT

rubykaigi.org 国分さんは英語でも早口でよく聞き取れませんでした。 僕の理解した範囲では YJITが現れてMJITは役割を終えた。ので、みんながJITコンパイルをハック出来るためのAPI置き場にします。みんなでJITコンパイラをハックしてRuby4を無茶苦茶速くし…

Matz Keynote

僕と僕の所属する会社はRubyでの受託開発を生業にしています。 ここ数年は引き合いが多くて営業で困ったことがありません。 技術力を評価していただいている面もあると思いますが。 Rubyが魅力あふれるプログラミング言語で、お金を払ってでもRubyでアプリケ…

ruby/debug - The best investment for your productivity

rubykaigi.org GitHub - ruby/debug: Debugging functionality for Ruby というRuby用のでデバッガの紹介です。 ruby/debugの主なコントリビューター 「ruby/debugの主なコントリビューターが全員登壇する」というのが、僕の中の密かなRubyKaigi 2022 胸熱ポ…

Implementing Object Shapes in CRuby

rubykaigi.org とても緊張してしゃべられてました。 丁寧なスライドで、英語全然わからない僕でも、Object Shapesってそういうものか、なるほどね!ってなったので、とても良かったです。 ていうのを、当日、直接本人に言えやって、いまさら思います。 英語…

How fast really is Ruby 3.x?

rubykaigi.org GitHub - fluent/fluentd: Fluentd: Unified Logging Layer (project under CNCF) のメンテナの方が、Ruby 3でどれぐらい速く動くようになったか計測した話です。 fluentdでは1秒間に1万オブジェクトを作ることもあるそうです。 オブジェクト…

Create my own search engine

rubykaigi.org みんなが大好きな咳さんの発表です。 druby.hatenablog.com ご本人のブログに記事があります。 発表資料もこちらから見れます。 「検索エンジンを作りました。」という発表です。 全文検索をやろうとすると、たいてい次のような課題をクリアし…

Ruby Committers vs The World

rubykaigi.org Rubyコミッターを壇上に並べて眺めるセッションです。 特に海外のコミッターさんは顔と名前が一致しないので、ありがたいセッションです。 github.com parser.yという悪魔城と呼ばれる現状中田さんしか触れないやつを置き換えるパーサーを作る…

error_highlight: user-friendly error diagnostic

rubykaigi.org 発表の前半の内容は 【RubyKaigi発表予告】error_highlight: user-friendly error diagnostics - クックパッド開発者ブログ にあります。 後半はRuby 3.2 でerror_highligthのエスケープ処理で、\が増えなくなった話でした。 ledsun@MSI:~/err…

Syntax Tree

rubykaigi.org Rubyのパーサーを書き直そうという野心的なプロジェクトを持っている人の発表です。 プロジェクトに対するモチベーションに関してはこちらのツイートのスレッドを見るのがよいと思います。 Since @yukihiro_matz mentioned it on stage at #ru…

Real World Applications with the Ruby Fiber Scheduler

rubykaigi.org https://github.com/socketry/rubydns を作っていました。 多数のリクエストに対応するために GitHub - eventmachine/eventmachine: EventMachine: fast, simple event-processing library for Ruby programs の導入を考えました。 DNSは一つ…

A Faster CRuby interpreter with dynamically specialized IR

rubykaigi.org 圧倒的にわかりませんでした。 前提知識がたりません。 Sepcialization Basic block versioning RTL IR(internal representation) SIR MIR あたりがわかっていません。 IRがinstructionsと機械語の間の中間表現かなと理解しました。 それを…

Fixing Assignment Evaluation Order

rubykaigi.org 1行のRubyプログラムを左から順に評価していきます。 これは意図時にデザインしたルールではなく、実装の結果です。 a[0], a[1] = [b, b] のときはそうではありません。 発表者のJeremy Evansさんは、Rubyのバグを大量に直しているコミッター…

History of Japanese Ruby reference manual, and future

rubykaigi.org t.co Rubyのリファレンスマニュアルの歴史の話でした。 RD, RWiki, ruremaと変わってきました。 bticlustって時々聞くなあと思ったら、RDの代わりになるツールみたいです。 Ruby 1.8のころからあるみたいです。 僕が観測したのは、鹿児島Ruby…

Stories from developing YJIT

rubykaigi.org は、RubyのYJITでどんな挑戦をしてきたかの話でした。 最初はRubyのinstructionを1:1で機械語に置き換えるところか始めました。 Railsでは遅くなりました。 つぎにJIT部分をフロントエンドとバックエンドに分けました。 もう、この辺でわかり…

ruby/debugをつかってみる

rubykaigi.org を見ました。 良い機会なのでruby/debugを素振りしてみます。 次のRubyスクリプトを書きます。 require 'debug' def baz n n end def bar n baz n end def foo n bar n end binding.b result = foo(100) p result 実行してみましょう。 ledsun…