macOS 上で RubyのC拡張ライブラリのパフォーマンスを計測するために、 Xcode 付属の Instruments というアプリを利用してます。以前は特になにもしなくともパフォーマンス計測結果を見るときにソースコードが表示されてどの箇所がパフォーマンスが悪いか表…
今日はReproでの最終出社日。思い返せば 30 歳も過ぎてから Ruby とどう関わっていくかという人生だった。 MacRuby (2010年~) 暇つぶしに Mac OS X のアプリを作ってみようかと思い立った時に出会ったプロジェクトだった。 今のように Swift や clang とい…
Oj のパフォーマンス改善についてまとめて、弊社のテックブログにかきあげました。 tech.repro.io 文量の問題で全ては記載してないので、もし他の変更が気になる方は Commits · ohler55/oj · GitHub をご覧ください。 余談 なんでパフォーマンス改善ばかり(…
現在、Ruby 製 worker を作成することを業務で行っているのですが、継続的にメモリ使用量が増加する現象に遭遇してました。 (グラフの値が下がったタイミングが数回ありますが、それぞれでデプロイが行われてリセットされただけ) ObjectSpace.allocation_s…
FFI を利用して C のライブラリを呼び出す時のオーバーヘッドがどれくらいなのかと思い調べてみました。 使用したコード 呼び出し時のオーバーヘッドを知りたかったので、処理負荷がかからない単純に加算するだけのコードとしました。 int add(int x, int y)…
以前 Ruby の Windows 環境 (備忘録) - @watson1978 の日記 で Ruby を Windows でビルドできるように環境を用意したのですが Visual Studio のアップデートなどで手順に差分が生じたので、また備忘録がてら作業ログを残しておきます。 以下の記事を参考にし…
Kaigi on Rails を聞きながらオンラインブースの reBako.io(リバコ) - イベント開催をオンラインで簡単に。 で雑談していたら、フィヨルドブートキャンプを運営している町田さんにアドバイザーとして招待していただきました。 bootcamp.fjord.jp
いくつか高速化するパッチを送り続けていたら、oj のコラボレーターとして招待されました。 招待された pic.twitter.com/Pcr4fYRveu— Watson (@watson1978) 2021年8月7日
RMagick が ImageMagick 7 に対応できたので、今度は RMagick を使用しているライブラリを見ていこうかとおもい、gruff のオーナーに連絡したら Contributor として招待していただきました。 とりあえず Rubocop を導入したので調教したりしながら、気長にや…
年始に転職して、現在は Repro株式会社 に所属しています。 昨日 ImageMagick 6 & 7 に対応した RMagick 4.1.0 をリリースしましたので、簡単に移行手順を書きます。 はじめに ImageMagick 6 と ImageMagick 7 が提供する異なる API インタフェースの差分を…
RMagick が ImageMagick 7 に対応しそうなのだが Homebrew で提供されているバージョンだとビルドに失敗するので、アップデートをリクエストした。 やっていることは、ほぼ imagemagick@6 formula のアップデート方法(備忘録) - @watson1978 の日記 とおな…
ImageMagick がちょいちょい細かくバージョンを上げてくれるので、自分が使いたいバージョンにあげたときの作業ログです。 私が作業したのは https://github.com/Homebrew/homebrew-core/pull/40921 です。 Pull Request を作成するところで hub が使われる…
【追記 2019/06/17】パッチを含んだ RMagick v3.2.0 がリリースされました。 RMagick を使用すると馬鹿みたいにメモリ使用量があがると言われ続けてましたが、修正方法の見込みがたちようやく直しました。 何が起きていたか RubyKaigi 2019 で登壇した際にも…
RubyKaigi 2019 CFP を書いた - @watson1978 の日記 で応募した CFP が無事採択されたので、RubyKaigi 2019 で登壇してきました。CFP を採択、運営に携わったスタッフの皆さんに感謝です。 CFP にはエモいことを書いたりしましたが、RMagick がどう改善され…
RMagick のテストが通らないものを調べる際にどのようにデバッグしようかと思ったのですが、Debugging Ruby C Extensions in XCode - Emil Soman's blog に有益なことが書かれておりました。元の記事では Xcode 5.1 が使われていたので最新の Xcode のスクリ…
RMagick の ImageMagick 7 対応 作業をするにあたり Windows 環境でも簡単に使えるようにインストールまわりを昨年末くらいからやってました。備忘録がてら作業ログを残しておきます。 Ruby の Windows 環境は 2 種類存在しております。 RubyInstaller に代…
RubyKaigi 2019 CFP に応募しました。以下は書いた内容です。 RMagick, migrate to ImageMagick 7 Abstract The currently RMagick has some problems about installing on macOS/Windows platform. I will talk about RMagick that it will be migrated fro…
Ubiregi Advent Calendar 2018 の 18 日目です。 ユビレジではたくさんのお客様の大量の POS データをお預かりしており、様々なバッチ処理も実行されています。今回は特定のケースでバッチ処理の一部が 30 分以上かかっていた処理を 14 秒で終わるようにした…
Ubiregi Advent Calendar 2018 の 5 日目です。 同僚が「Ruby 2.5 が SEGV するんだけど」というので調べて見たときの話です。結論から言うと Ruby 2.6 では直っています。 クラッシュログ 同僚の変更内容を手元の macOS で動かすと確かに SEGV して以下の様…
Ubiregi Advent Calendar 2018 の 2 日目です。 私は ユビレジ でスクラムチームに所属し Rails や iOS、React.js なコードを書いております。スクラムチームでは各個人に得手不得手がありながらもサーバやクライアントのコードを分け隔て無く面倒見ています…
RubyKaigi 2018 が終わった後、Red Data Tools に参加しようかと思い numo-narray を見ていたりするのですが、ベンチマークが不可解な値を示して頭を悩ませています。 使用しているベンチマークは公式の Wiki にあった Tentative Benchmark を用いてます。 r…
やり方を忘れる前に。 先週の土曜日に Cookpad Ruby Hack Challenge #4 カバレッジ特別回という meetup に参加してきました。 Ruby 本体の C 言語で書かれた部分と Ruby で書かれたライブラリのカバレッジを取得する方法を勉強して実際にカバレッジを向上し…
途中からぬけて、嫁と合流して仙台市内を観光したりしてました。 Parallel and Thread-Safe Ruby at High-Speed with TruffleRuby 3年以上 TruffleRuby のことやっているそう CRuby と C extension のフルサポートをターゲッティング CRuby 2.5.1 より起動が…
RubyKaigi 2018 2日目に参加してきました。お昼に弁当食べたあと、仙台城跡を見に歩いて行ってきました(帰りはタクシーだったけど)。天気が良くて満足度が高かったです。 My way with Ruby My way with Ruby 活動されている内容のはなし。 フリーソフトウ…
発表を聞きながらメモした内容を貼っておきます。 Keynote ことわざの話 ことわざ=先人の知恵 名は体を表す -> 名前重要 名前を付けてアイディアを交換する。名前付けは非常に重要。 1. 振る舞いに対して クラス、メソッド、変数などの概念 名前付けが難し…
「LT、良かったですよー」と発表後にちらほら話しかけられて良かったです。 (余談)発表では JSON.parse() のパフォーマンスは 19 % 向上と話したのですが、RubyKaigi 2018 LT の CFP 出した - @watson1978 の日記 のときはもっとパフォーマンスが良かった…
Xcode で開いているファイルを GitHub で表示する - @watson1978 の日記 で作ったスクリプトをもとに、OpenGithub という Xcode Source Editor Extension を作りました。 github.com Xcode で開いているソースコードをGithub上で簡単に表示することができる…
調べごとをしていると、Xcode で開いているファイルを GitHub で表示して URL をメモっておくことがままあります。RubyMine だと標準機能で現在開いてるファイルを、 ブラウザで GitHub 上のファイルを開くということができるのですが、なぜか Xcode には見…
RubyKaigi 2018 LT の CFP 出した - @watson1978 の日記 でだいぶ雑に LT に応募したのですが、無事受理されました。先行して頂いた方々に感謝です。ゴールデンウィーク中に手直ししようかと思っていたのですが、飲んだくれてました(・ω・) RubyKaigi 2018 L…
弊社ユビレジでは、開発要件や手動でテストすることをMarkdownファイルを書いてGitHub上のレポジトリにPull Requestし管理する運用をしています。 今までさっとプレビューしたいときにはQLMarkdownというプラグインを使用していたのですが、GitHub Flavored …