RubyKaigi 2016レポート
成瀬ゆいさん,Ruby開発の世界に飛び込もう 〜RubyKaigi 2016 基調講演 3日目
2016年9月8日から10日まで,
RubyKaigi 2016 最終日となる3日目の基調講演はRubyコミッタである,
重要なのは具体的なユースケース
新機能は大きく二つに分けることができると言います。一つは新しくメソッドやクラスを追加すること。もう一つはRubyを動かすことのできる環境を増やすことです。
前者の場合,String#scrub
を例に,
Rubyの実行環境については,Continuation
の中でRubyのGCが壊れていたケースをあげ,
様々な側面からRubyの速度を考える
次に最適化について話をしました。速度改善に注目し,
まず速度改善の定石として,
- ベンチマークやプロファイルを取得する
- ボトルネックを発見する
- ボトルネックを解消する
New Relicを使ってRailsアプリケーション
Ruby組み込みライブラリの速度改善の例として,Regexp#match?
を取り上げました。このメソッドはRuby 2.$&
特殊変数を更新しないというメソッドです。MatchData
を作成しない分だけ高速になります。
VMを早くするアイディアとして,
procfsやcore fileを活用する
最後のテーマとしてデバッグやプロファイリング,
正規表現のマッチングでバックトラックの回数が爆発したときや,/proc/<pid>/stat
と/proc/<pid>/maps
から,
SEGVしたときの調査では,
core fileはクラッシュした時点のメモリの内容をダンプしたもので,
まとめ
最後に本日の発表を以下のようにまとめました。
- 現実に即したユースケースをきちんと考える
- 現実のアプリケーションのボトルネックが何かをきちんと調べる
質疑応答では,
バックナンバー
RubyKaigi 2016レポート
- 成瀬ゆいさん,Ruby開発の世界に飛び込もう 〜RubyKaigi 2016 基調講演 3日目
- Justin Searlsさん,恐怖のないリファクタリングを求めて 〜RubyKaigi 2016 基調講演 2日目
- まつもとゆきひろさん,楽しくプログラミングができる Ruby3の型の提案 〜RubyKaigi 2016 基調講演 1日目
関連記事
- まつもとゆきひろさん,Rubyの変化で大事にしているルールを守りつつ「2019年までにRuby 3x3を実現したい」 〜RubyKaigi 2015基調講演 1日目
- Aman Gupta, GitHubでのRubyの使われ方と高速化のテクニックを紹介 ~ RubyKaigi 2014 基調講演 3日目
- まつもとゆきひろさん,Ruby 3に向けて組み込んでみたいアイデアを提案 ~ RubyKaigi 2014 2日目 基調講演
- 笹田耕一さん,「Ruby開発者にとって簡単なこと,難しいこと」を語る ~ RubyKaigi 2014 基調講演 1日目
- Ruby会議2009 3日目レポート[更新完了]