RubyKaigi 2018 1st day
参加したのでメモ
Keynote by Matz
- 名前重要
Q&A
- 今後、静的型付けをRubyの機能として組み込む方向になるのか? #=> するつもりはない
Analyzing and Reducing Ruby Memory Usage by Aaron
日本語で講演するとかほんと尊敬に値する。
Rubyでメモリ使用量を抑えるにはという内容。
- コード読め
- malloc stackをトレースせよ
の2つにアドバイスは集約される。
- ObjectSpace
- AllocationTracer
- GC::Tracer
を使う。ただし出力したログによるディスク容量圧迫に注意する。
=>mallocをcallする箇所とその量を特定するのが重要
次の2つは何でメモしたか覚えてない
- Direct iSeq Marking
- Ruby 2.6に上げることをお勧めする
Hijacking Ruby Syntax in Ruby by joker1007 and tagomoris
楽しそうに喋ってた。
を使えば例えば with (Python) や defer (Go) のまねごとができるという話。
ただしデバッグが超面倒
All About RuboCop by bbatsov
lint is not replacement for common sense という手元のメモがあるだけ。
RubyGems 3 & 4 by hsbt
現行2.7のRubyGemsが今後どうなるかという話。
3.0
- 移行バージョン的な位置づけ
- Gem::Deprecate便利
- depreacatedにする or 削除する場合、gem-codesearchを使って調査
4.0
- 3以下と非互換にする
- conservable
- user-installのデフォルト化
Exploring Internal Ruby Through C Extensions by Yuryu
- CRuby内ではVALUE type (ポインタや値を格納) がよく使われている
- メモリ利用量のチェックには Valgrind が使える
- Hash操作に関してはRubyは充分早い
- C拡張を使うケース
- x: パフォーマンスを理由に使う
- o: Rubyから外部ライブラリを使うI/Fを用意するために使う
所感
- メンテナは本当に大変だろうし仕事でやってない人は気の毒に感じるようになった。年のせいか。