2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Haskell 初心者が、stack でベンチマークテストにつまった話(RTS option)

Posted at

stack で+RTSオプションを使ってベンチマークをとりました。

Haskell 初心者です。1日くらい記事探し回ってようやく、stackでRTSオプションを使える方法を見つけたので、残しておきます。

きっかけは、「Haskellによる並列・並行プログラミング」 O'Reilly 。
読んだら、サンプルを走らせようと思うのは必然の流れ。ということでサンプルをstackでインストールしました。
stack本体のインストール、設定などは詳しく紹介してくださっている人がいらっしゃるのでそちらを参考に
stackの紹介
インストールから実行まで

$stack install parconc-examples
$stack build

さて、ここまででも紆余曲折ありましたが、そこはとりあえず置いておきます。

$stack exec parinfer < benchmark.in +RTS -s

ん?

不穏な空気がひしひしと伝わる。
結果から言うと、これはうまく行きませんでした。

いろいろ調べた結果、なるほど、ghcオプション で --rtsoptを指定してやればいいのか。ふむふむ。とおもって、paraconc-examples.cabal でghcオプションに追加。
実行してみますが、またもうまく行きません。

今まで英語のため逃げ続けてましたが、stack のHPに飛んでRTSで検索してみます。

The stack executable is no longer built with -rtsopts. Before, when -rtsopts was enabled, stack would process +RTS options even when intended for some other program, such as when used with stack exec -- prog +RTS. See #2022.

とのことで、-- progを付けなさいと。。。

$stack exec parinfer < benchmark.in -- prog +RTS -s

これはうまく行きました。、、、長い道のりだった。
自分のための覚書きです。

今回私が得た教訓は、わからなかったらとりあえず公式にいけ。 以上です。

2
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?