GHC can output profiling information as JSON and you should use it. This is just a small PSA. As of GHC 8.2, when GHC is able to accept -pj RTS flag which will output things in a nice machine readable format. So, use it. I’d even be inclined to say that you should always use it and if you want the old format, we can have a tool that can produce that. Yesterday I released two packages with relation
GHCの時間・メモリ割当プロファイリングは、Haskellプログラムがどこで時間を使っているか、またどこでメモリ割当をたくさんしているのかを、コスト集約点(cost center)をノードとする木構造で表示してくれる。 このプロファイラが生成するレポートは、プログラムの規模に応じて大きくなるため、大きなプロジェクトではボトルネックがどこにあるのか一瞥しただけでは分かりにくくなる。 この問題を解決するためにviewprofというテキストベースのビューアを作っている。まだ作りかけで表示があまりに素っ気なかったり、必要な機能が足りないのだけど、試すことはできる。 使い方maoe/viewprofをcloneしてstack installでviewprofコマンドがインストールされる。例えばghc-prof-flamegraphの紹介記事に出てくるこのhoogleのプロファイル結果をviewpro
Haskell Hierarchical Librariesをぼんやりと眺めていたところ、Debug.Traceが目に止まった。効率の良いデバッグとかテストに憧れを持ち始めるお年頃なので、こういうパッケージ名に弱いのかもしれない。まあ実際、Haskellでコードを書いていると、printfデバッグができなくて悶々とする場面は結構あったので悪くはない。 以下で簡単な実行例を示していく。 また、traceStackのところでプロファイリングに関連した話が登場したので、そちらも簡単に調べてみた。 使うライブラリ Debug.Trace デバッグやモニタリング以外では絶対に使うなよ、とアナウンスされている。unsafePerfomIO(IOを外してしまう黒魔術)とかを使っているのがチラッと見えたし、確かに危なそうだなぁという気はする。 下準備 プロファイリングを行うためには、haskell-pla
あらすじ Web技術が複雑になる中で、JavaScriptのプロファイリングをとる方法とは。 プロファイリングを取るためのコードを手で書いてみましょう。 とてもシンプルで、かつ最高のJavaScriptプロファイラ sjsp を作りました。 本当にあった怖い話 上司 「とにかくJavaScriptのコードを速くしてくれ」 私 「分かりました、速くします」 (次の日) 私 「いいプロファイラがないなら作ればいいじゃない」 同じチームの人 「えっ?」 私 「最高のJavaScriptプロファイラ作ったよ」 同じチームの人 「「えっえっ???」」 私 「早速使ってみたらこことここが遅いって分かったよ」 同じチームの人 「「「この子は一体…」」」 JavaScriptのプロファイリングの難しさ 近年、Webブラウザーの処理速度は著しく向上し、その可用性の高さから、アプリケーションのプラットフォーム
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く