31

私は比較的遅い手順(適切にはslowという名前)を持っています、そして私は次のようなことをしたいと思います

time $ slow [1,2,3,4,5]

プログラムをコンパイルしてから実行する代わりに、コンソール(REPL)で時間を取得します。

これはできますか?

4

1 に答える 1

50

:set +sGHCiと入力すると、すべての式の評価後にタイミングとメモリ情報が出力されます。

例:

Prelude> :set +s
Prelude> sum [1..2^20]
549756338176
it :: (Num a, Enum a) => a
(0.34 secs, 169,197,008 bytes)

これは、最適化せずにインタープリターで評価される式のタイミングになるため、必ずしも時間がかかるか、同じコードの2つのバージョンのどちらが高速になるかを正確に測定できるとは限りません。実際にコンパイルされたコード。そのためには、基準ベンチマークライブラリを見てください。

于 2012-04-26T22:23:30.603 に答える