すべてをコンパイルすることを回避する良い方法は、キャビルサンドボックスを使用することです。プロファイルを使用して 1つのアプリケーションのみのサンドボックスを設定できるため、~/.cabal
プレフィックスをすべて再インストールする必要はありません。最近のバージョンのCabalが必要なので、まずcabal update && cabal install cabal-install
を実行してください。あなたはサンドボックスを初期化したら
、必要な指示を含めるファイルcabal.config
を作成します(あなたのケースlibrary-profiling: True
には、executable-profiling: True
も便利かもしれません。)
これの副作用は、あなたとあなたのコードをテストすることができるということです実験的なバージョンや古いバージョンなど、グローバルにインストールする必要はありません。
EDIT:btw、criterion
を有効にするためにプロファイリングを有効にする必要はないと思います。いずれにしても、はプロファイリングが有効になっていなくても動作します。ブロックを持っているmain = defaultMain benchmarks
を含むMain
モジュールを書くだけです。これは、あなたが書いたベンチマークのリストです。
その後、(たとえば、私たちは気の利いが生成されますどの./bench -o benchmarks.html
を言って、適切なデフォルト引数がある。詳細については、基準のマニュアルを参照してください(ghc --make -o bench benchmarks.hs
とbenchmarks.hs
それを呼び出すと、適切な引数を使用してプログラム、./bench
を実行し、そのファイルをコンパイルthis oneと似たレポート)
私はそれらをインストールするだけで問題は何ですか? –
1)私はそれらを必要としません.2)それらをインストールすることは非常に面倒です:http://stackoverflow.com/questions/1704421/cabal-not-installing-dependencies-when-neededing-profiling-libraries – nh2
私はそれが退屈であることに同意しますが、あなたがそれらを必要としないというあなたの主張は、明らかに偽です。 –