event#dispatchEvent" data-event-name-value="spotlight" data-tooltip-content-value="⌘ k">
macOS 上で RubyのC拡張ライブラリのパフォーマンスを計測するために、 Xcode 付属の Instruments というアプリを利用してます。以前は特になにもしなくともパフォーマンス計測結果を見るときにソースコードが表示されてどの箇所がパフォーマンスが悪いか表示されていたのですが、年末年始に時間があったので久しぶりに試したらアセンブラコードしか表示されずに読み解くのがとても大変でした。 C拡張ライブラリをインストールするときに、コンパイルしたときに収集したシンボル情報をもとに dSYM を作成したら解決しそうだったので試してみました。 Ruby の mkmf.rb に手を加え、C拡張ライブラリをインストールする際に生成する Makefile に dSYM を作成するためのコマンドを追加しました。 diff --git a/lib/mkmf.rb b/lib/mkmf.rb ind
In the previous post, we established that as long as ruby/json wasn’t competitive on micro-benchmarks, public perception wouldn’t change. Since what made ruby/json appear so bad on micro-benchmarks was its setup cost, we had to find ways to reduce it further. Spot the Seven Differences So I decided to file this performance discrepancy as a bug, and investigate it as such and started profiling Step
Some time ago I was talking about an ahead-of-time Ruby compiler. We started the project with certain goals and hypotheses in mind, and while the original compiler is at nearly 90% completion, there are still those other 90% that needs to be done. In the meantime, we decided to strip it down to a bare minimum and implement just enough features to validate the hypotheses. Just like the original com
大学院 今年はM2をやっていた。授業はM1で取り切っていたので研究をひたすら頑張る形。 去年は渡米や諸々によりほとんど進捗がなかったが(たいへん申し訳ない気持ち)、今年は国際ジャーナルを通せたので良かった。 なお修論は全く別のテーマで書いているので現在進行形で大変マズい状況。修了したい。 仕事 引き続きGoodnotesでパートタイムで働いている。ロールも変わらずSwiftコンパイラツールチェインとWebAssemblyを仲良くさせる仕事。 ちょうど今年web.devで事例紹介の記事が公開されたので貼っておく。 Goodnotes everywhere | web.dev チームメイトのおかげでプロダクトも育ってきており良い感じ。今年も相当量のSwiftのコードが新しくWebと共有できた。クロスプラットフォームなコードが増えていくたびちょっと嬉しい。 就職 就活をしてもいいかなと思って
Ruby コミッターになりました。他にも今年は色々なことがあったのでまとめておきたくなった。 登壇 RubyKaigi 2024 キーノート 地元沖縄開催のRubyKaigiでキーノートをすることに決まって準備含め頑張った。 rubykaigi.org tompng.hatenablog.com 大阪Ruby会議04登壇 去年11月頃くらいからやっていたRelineのレンダリングのリアーキテクチャの話をまとめた。 元々RubyKaigiにプロポーザルを出してた内容の供養(キーノートに変わった) 言いたいことを3行くらいでまとめると 状態を減らせ、計算可能なプロパティを状態として持つな CUIだってjQueryからReactへの移行みたいなことが必要 いろんな分野の知識を使ってうまく書こう これから発表する「Re-line 〜 IRB・Reline 複数行編集の裏側」の資料です #osrk0
ruby/rexml のメンテナーになりました。 rexml をもっと良い感じにしていくぞ💪https://t.co/Ve7bRd564m— NAITOH Jun (@naitoh) 2024年12月16日 というわけで、ruby/rexml のメンテナーになりましたので、この1年間の REXML (と StringScanner) への取り組みをまとめてみます。 1. rexml 高速化 パース処理の内部実装を Regexp クラスから StringScanner に変更 正規表現をなるべく使わないようにする (文字列のみのマッチで代替する) 不要な文字列 Object の生成を抑える形で最適化する 繰り返し使う正規表現オブジェクトやエンコード処理をキャッシュして生成コストを抑える 2. 不正XMLチェックの強化 3. 各パーサー間でのパース処理結果の統一 4. REXML の SAX
In the previous post, I covered how I reimplemented JSON::Generator::State#configure in Ruby and some other changes. Unfortunately, it didn’t go as well as I initially thought. Mistakes Were Made The default gems that ship with Ruby are automatically copied inside ruby/ruby’s repo. In short, there’s a bot aptly named matzbot, that replicates all the commits from the various ruby/* gems, inside rub
Ruby Programming Language Documentation Ruby master Ruby 4.0 Ruby 3.4 Ruby 3.3 Ruby 3.2 Other versions Ruby 3.1 (End of Support 2025-04) Ruby 3.0 (End of Support 2024-04) Ruby 2.7 (End of Support 2023-04) Ruby 2.6 (End of Support 2022-04) Ruby 2.5 (End of Support 2021-04) Ruby 2.4 (End of Support 2020-04) Ruby 2.3 (End of Support 2019-04) Ruby 2.2 (End of Support 2018-04) Ruby 2.1 (End of Support
はじめに Rubyは毎年12月25日にアップデートされます。 Ruby 3.4は2024年12月25日に正式リリースされました。 この記事ではRuby 3.4で導入された変更点や新機能について、サンプルコード付きでできるだけわかりやすく紹介していきます。 ただし、すべての変更点を網羅しているわけではありません。僕が個人的に「Railsアプリケーションの開発時に役立ちそうだな」とか「これはトリビア的な知識として知っておくと良いかも」と思った内容をピックアップしています。本記事で紹介していない変更点も多数ありますので、以下のような情報源もぜひチェックしてみてください。 Ruby 3.4 Advent Calender 動作確認したRubyのバージョン 本記事は以下の環境で確認した結果を記載しています。 NOTE: Ruby 3.4.0はバージョンの表記に誤りがあったため、すぐに3.4.1がリリ
はじめに Rubyは毎年12月25日にアップデートされます。 Ruby 3.4は2024年12月25日に正式リリースされました。 この記事ではRuby 3.4で導入された変更点や新機能について、サンプルコード付きでできるだけわかりやすく紹介していきます。 ただし、すべての変更点を網羅しているわけではありません。僕が個人的に「Railsアプリケーションの開発時に役立ちそうだな」や「これはトリビア的な知識として知っておくと良いかも」と思った内容をピックアップしています。本記事で紹介していない変更点も多数ありますので、以下のような情報源もぜひチェックしてみてください。 Ruby 3.4 Advent Calender 動作確認したRubyのバージョン 本記事は以下の環境で実行した結果を記載しています。 NOTE: Ruby 3.4.0はバージョンの表記に誤りがあったため、すぐに3.4.1がリリー
Posted by naruse on 25 Dec 2024 Ruby 3.4.1 がリリースされました。 このリリースではバージョン表記を修正しています。 詳しくは GitHub releases を参照してください。 ダウンロード https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.gz SIZE: 23152739 SHA1: dc42fe22bcdfbd30f63cd93296d893c53b1dadcc SHA256: 3d385e5d22d368b064c817a13ed8e3cc3f71a7705d7ed1bae78013c33aa7c87f SHA512: 93acc262e3b7cf86aeddebdad5b8938c187b9c44a73b0c252b6f873745964001459ae45ece73767
プロと読み解くRuby 3.4 NEWS テクノロジー部門技術基盤グループの笹田(ko1)と遠藤(mame)です。Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.4.0 がリリースされました(Ruby 3.4.0 リリース )。今年も STORES Product Blog にて Ruby 3.4 の NEWS.md ファイルの解説をします(ちなみに、STORES Advent Calendar 2024 の記事になります。他も読んでね)。NEWS ファイルとは何か、は以前の記事を見てください。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者
Posted by naruse on 25 Dec 2024 Ruby 3.4.0 が公開されました。Ruby 3.4では、ブロックパラメータ参照の it の追加、 デフォルトパーサーのPrismへの変更、Socket ライブラリの Happy Eyeballs Version 2 (RFC 8305) 対応、YJITの改善、 Modular GCの導入など様々な改善が行われています。 it の追加 ブロックパラメータに名前をつけずに参照する it が追加されました。 [Feature #18980] ary = ["foo", "bar", "baz"] p ary.map { it.upcase } #=> ["FOO", "BAR", "BAZ"] it は _1 とほとんど同じように動作します。ブロック内で _1 のみを使用する意図がある場合に _1 を使うと、_2 や _3 な
プログラミング言語Rubyの創始者。一般財団法人Rubyアソシエーション理事長、株式会社ZOZOやLinkers株式会社など複数社で技術顧問などを務めている。オープンソース、エンジニアのコミュニティ形成などを通じて、国内外のエンジニアの能力向上やモチベーションアップなどに貢献している。島根県松江市在住で、Ruby開発の功績から2009年に同市の名誉市民にも選ばれ、2012年には内閣府より「世界で活躍し『日本』を発信する日本人」の一人に選ばれている。通称は「Matz (マッツ)」 https://x.com/yukihiro_matz 00:01:05 スペシャルゲストの紹介 00:02:46 英語学習の背景、宣教師としての経験 00:09:41 Rubyの国際的認知 00:14:01 海外でも大人気のまつもとさん 00:15:14 日本人の英語に対する心理的な障壁 00:17:52 最初の
We’re happy to announce Bundler 2.6, featuring gem checksum verification, right in the Gemfile.lock file. This feature has actually been implemented for more than a year. However, it was merged very close to the Bundler 2.5 release and we did not yet have a good plan for enabling the feature in a graceful manner, so we’ve kept it hidden until now. Bundler 2.6 finally officially allows to opt-in in
■ Ruby 3.4 の JSON は速くなった Ruby 3.4 の変更点をチェックしている時に byroot がめっちゃパフォーマンスよくしたからリリースアナウンスでも触れておかないと、と思いどれくらい速くなったかベンチマークとってみたら Ruby 3.3 に添付されている 2.7.2 と比較して 1.5 倍くらい速くなっていた。 Ruby 3.3 についている json-2.7.2 で日本語も含む twitter.json をパースしたときの結果 == Parsing twitter.json (567916 bytes) Warming up -------------------------------------- json 41.000 i/100ms oj 51.000 i/100ms Oj::Parser 62.000 i/100ms Calculating ------
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く