週に一回は書きますよ 月に4つ記事を書けばノルマは満たされます。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

先ほど作ったDna2rna.hsがあんまり遅いので、ログをはかせつつどこが遅いか調べていました。すると、読み込みをSequenceに変換するところが遅いことが発覚。

list2sq :: [a] -> Seq a
list2sq = foldl |> Data.Sequence.empty
この定義が遅かったようです。しかも、そもそもData.SequenceにfromListが存在するのでこれは必要ありません。

fromListにすべて書き換えたらものすごく高速になりました。今のところ一分しないでrnaを吐き出します。stackを大きくする必要も、eager評価する必要もなくなりました。

出力されるrnaはまだ間違っていますが。 次はバグとりです。

スポンサーサイト
コメント
この記事へのコメント
何も考えていない発言をすると the haskell school of expression によると、とりあえず foldl' か foldr を使え、じゃありませんでしたっけ。
2007/07/30(月) 04:47 | URL | しろきゃぴたん #-[ 編集]
はやいなぁ。うーん。。。俺の速度でねー・・・。
2007/07/30(月) 05:13 | URL | p #-[ 編集]
foldl'しらなかった.. foldrはスタックを食いつぶすのでだめっぽいです。使い方次第ですが。
2007/08/05(日) 22:23 | URL | Gus #-[ 編集]
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://gusmachine.blog49.fc2.com/tb.php/201-3bc266d0
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。