株式会社クリアコードに入社してました

2024年7月に入社したので、もう9ヶ月も立つのかと思うと恐ろしい・・・。 Fluentdチームに所属して、日々、いろいろわからんとか言いながらいろいろやってます。 Ref. https://github.com/fluent/fluentd Fluentd のメモリ周りの問題を調べるために、 https:…

RubyのC拡張ライブラリのdSYMを作成

macOS 上で RubyのC拡張ライブラリのパフォーマンスを計測するために、 Xcode 付属の Instruments というアプリを利用してます。以前は特になにもしなくともパフォーマンス計測結果を見るときにソースコードが表示されてどの箇所がパフォーマンスが悪いか表…

最終出社日でした

今日はReproでの最終出社日。思い返せば 30 歳も過ぎてから Ruby とどう関わっていくかという人生だった。 MacRuby (2010年~) 暇つぶしに Mac OS X のアプリを作ってみようかと思い立った時に出会ったプロジェクトだった。 今のように Swift や clang とい…

Oj のパフォーマンス改善についてまとめました + 余談

Oj のパフォーマンス改善についてまとめて、弊社のテックブログにかきあげました。 tech.repro.io 文量の問題で全ては記載してないので、もし他の変更が気になる方は Commits · ohler55/oj · GitHub をご覧ください。 余談 なんでパフォーマンス改善ばかり(…

ObjectSpace を利用して Ruby 製 worker のメモリ使用量を改善した

現在、Ruby 製 worker を作成することを業務で行っているのですが、継続的にメモリ使用量が増加する現象に遭遇してました。 (グラフの値が下がったタイミングが数回ありますが、それぞれでデプロイが行われてリセットされただけ) ObjectSpace.allocation_s…

Ruby の FFI によるメソッド呼び出しのオーバーヘッド

FFI を利用して C のライブラリを呼び出す時のオーバーヘッドがどれくらいなのかと思い調べてみました。 使用したコード 呼び出し時のオーバーヘッドを知りたかったので、処理負荷がかからない単純に加算するだけのコードとしました。 int add(int x, int y)…

Ruby を Windows 環境でビルド

以前 Ruby の Windows 環境 (備忘録) - @watson1978 の日記 で Ruby を Windows でビルドできるように環境を用意したのですが Visual Studio のアップデートなどで手順に差分が生じたので、また備忘録がてら作業ログを残しておきます。 以下の記事を参考にし…

Image