タグ

2018年3月17日のブックマーク (5件)

  • Ruby でラインメモリプロファイラ - Qiita

    プロファイラ好きなモニタの前の皆さんこんにちは。@sonots です。この記事では、Ruby コードのどの行がどのぐらいメモリを消費しているか調べる方法を紹介します。 オブジェクトの数を数える Ruby には ObjectSpace というオブジェクトの情報を集めたり操作したりする module があります。 このモジュールの each_object メソッドを使用すると、RubyVM 上の全てのオブジェクトを取り出すことができます。 このメソッドを使って、以下のようなコードを書くと、実行した地点で、RubyVM 中にどのクラスのオブジェクトが何個存在しているのかカウントできたりするわけです。興味深いですね! ObjectSpace.each_object.inject(Hash.new 0) {|h,o| h[o.class]+=1; h } #=> {Class=>241, Strin

    Ruby でラインメモリプロファイラ - Qiita
  • Ruby 製バッチ処理を省メモリ化した - おいちゃんと呼ばれています

    少し前に Ruby 製のバッチ処理を省メモリ化したときの話をメモしておきます。 どのようなバッチ処理だったか 動画共有サイトにアップされた動画がオトナの事情によって削除されることがしばしばあるということは周知のことだと思う。そこで、一定時間おきに配信元サイトをチェックして、もし動画が配信元から削除されていたら、当該動画をこちらのサイトでも動画一覧に表示させないようにする、検索に引っ掛からないようにする、ということをやっていた。 便宜上、そのバッチ処理のことを「(動画の)存在確認くん」と呼ぶ。 oom-killer に殺されていた 彼は非常にデキる子だったが、なんか最近、動画の落とし漏れがあるなーと感じた。原因を調べたら、メモリをい過ぎて oom-killer に殺されていた。 cat /var/log/messages Apr 6 12:46:45 xxx001 kernel: Out

    Ruby 製バッチ処理を省メモリ化した - おいちゃんと呼ばれています
  • Rubyでメモリ使用量を測定する(UNIX風OS限定) -- ぺけみさお

    Rubyのメモリ使用量を実行しているスクリプト自身で測定する方法を調べていたところ、次の方法が目に止まったのでメモしておく。返却値はキロバイト単位。

  • N+1問題 / Eager Loading とは - Rails Webook

    N+1問題とは SQLクエリが 「データ量N + 1回 」走ってしまい、取得するデータが多くなるにつれて(Nの回数が増えるにつれて)パフォーマンスを低下させてしまう問題です。 次のように、何度もクエリが走ってしまい、その度に0.1msほどかかってしまってます。 Processing by PostsController#index as HTML Post Load (0.2ms) SELECT "posts".* FROM "posts" User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 1]] User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id",

    N+1問題 / Eager Loading とは - Rails Webook
  • 形骸化しているスクラムイベントの生き返らせ方 - ナイスビア珍道記

    スクラムはフレームワークと言われていて、実装を現場で考えることでチームの取り組み自体が改善していく仕掛けを持っている。 スクラムガイドにも「ゲームのルール」と書いてあるように、この仕掛けをうまく動かすために、ロール・イベント・作成物、ルールが相互に作用し合っている。 一見シンプルで単純、それゆえに難しい。 ……ということを理解せずに、マネジメントのためのツールとして形ばかりのスクラムが導入されているのも、残念ながらよく見る。シンプルで単純に見えるからだろうか。ロールも揃って、イベントもやって、決められた作成物を作っているのに、まったく質を外れたScrum But*1が足かせになってチームのモチベーションを下げているような状態だ。 全員参加が陶しいだけのミーティングがやたら多いなと感じているとしたら要注意だ。 スクラムをやっているチームで、「昨日これやりましたー、今日これやりまーす、問題

    形骸化しているスクラムイベントの生き返らせ方 - ナイスビア珍道記