RubyKaigi 2015レポート
Evan Phoenixさん「Rubyを速くするのは今がその時」 〜RubyKaigi 2015 基調講演 3日目
12月11日~13日,
RubyKaigi 2015 最終日3日目の基調講演はEvan Phoenixさんです。Ruby 3x3を受けて,
Evanさんがやってきたこと
Evanさんは,
そんなEvanさんは過去に自身が行った,
- SydneyというRuby1.
8.2に行なった並列化パッチ - RubiniusにおけるRubyの並列化実装
- RubiniusにおけるLLVM向け動的最適化JITの実装
そして今年のRubyConfでの,
パフォーマンスを向上させるには
まず,
- 同じ量のコードを並列に処理できるようにする
- 同じ処理をするのに実行されるコードの量を減らす
並列化
コアライブラリが並列化に対応していないCRubyでの並列化については,
コアライブラリの並列化以外で並列化での高速化を実現するために,
実行されるコードの量を減らす
そのため,
そしてRubyのコードを用いたJITによる最適化の例を挙げ,
JITによる過去の高速化調査
次にEvanさんは,
これらの実例より,
JITの種類
JITコンパイラで用いられる方式として次の3つを紹介し,
- Tracing JIT
- Method JIT
- Partial Evaluation
Tracing JITは,
Method JITは,
Partial Evaluationは,
最近の動向としては,
Ruby 3x3の目標として,
[1, 2].min
Rubyがやるべき最適化の提案
Evanさんはここまでの調査を踏まえ,
さらに,
また,
そして,
まとめ
最後にRubyを3倍速くするの難しいことだが,
バックナンバー
RubyKaigi 2015レポート
- Evan Phoenixさん「Rubyを速くするのは今がその時」 〜RubyKaigi 2015 基調講演 3日目
- 小崎資広さん「人に依存しないデバッグのために,道具の使い方を知ってほしい」〜RubyKaigi 2015基調講演 2日目
- まつもとゆきひろさん,Rubyの変化で大事にしているルールを守りつつ「2019年までにRuby 3x3を実現したい」 〜RubyKaigi 2015基調講演 1日目
関連記事
- nagachikaさん「安定したRubyを届けたい –All bugfixes are incompatibilities–」 〜RubyKaigi 2019 2日目 基調講演
- まつもとゆきひろさん「Ruby3の目指す未来 –The Year of Concurrency–」〜RubyKaigi 2019 1日目 基調講演
- 須藤功平さん「My way with Ruby」 〜RubyKaigi 2018 基調講演 2日目
- まつもとゆきひろさん「Rubyはさまざまな言語やコミュニティから影響を受けデザインされている」The Many Faces of Module 〜RubyKaigi2017 基調講演 2日目
- 成瀬ゆいさん,Ruby開発の世界に飛び込もう 〜RubyKaigi 2016 基調講演 3日目