タグ

RTSに関するwatertightのブックマーク (3)

  • heap objects · Wiki · Glasgow Haskell Compiler / GHC · GitLab

    The Glorious Glasgow Haskell Compiler.

    heap objects · Wiki · Glasgow Haskell Compiler / GHC · GitLab
  • GHCヒーププロファイリングの手引き

    非正格評価をデフォルトとするHaskellは、注意を怠るとしばしばスペースリークと呼ばれる非効率なメモリの使い方を引き起こす。幸いなことにGHCには多くの場合において有効なヒーププロファイラを備えているので、実際にスペースリークを特定するのはそれほど難しくない。 GHCのヒーププロファイラについて解説した文書としてはGHCの公式マニュアルがあるが、これだけで効果的に使うのは難しいのと、非公式のツールの使い方は紹介されていないので、それらを含めてまとめてみたい。 スペースリークの正格な定義があるのかはさておき、実際の使われ方としては、プログラマが意図しない非効率なメモリの使い方を指すと言ってよいと思う。一口にスペースリークと言っても様々な原因があり、これらを分類する試みとしては例えばSpace leak zooがある。いくつかの例はあとで触れることにして、まずはスペースリークの見つけ方につい

    GHCヒーププロファイリングの手引き
  • 4.17. コンパイル済みプログラムを実行する

    プログラムを実行する際、コマンド行の+RTS ... -RTSの間で。(4.17.1.1. コマンド行でRTSオプションを設定する) コンパイル時に、--with-rtsoptsを使って。(4.17.1.2. コンパイル時にRTSオプションを設定する) 環境変数GHCRTSで。(4.17.1.3. RTSOPTSでRTSオプションを設定する) ランタイムシステムの“フック”を上書きすることによって。(4.17.1.4. RTSの振る舞いを変更するためのフック) リンク時に-rtsoptsフラグを適切に設定していたなら、プログラムを実行するときにRTSオプションをコマンド行で与えることができる。 Haskellプログラムの実行が開始されるとき、RTSはコマンド行引数から+RTSと-RTSで囲まれた部分を自分用に抽出する。以下のような例を考える。 $ ghc prog.hs -rtsopts

    watertight
    watertight 2016/11/16
    RTSのオプション
  • 1