2010年2月19日

[mew-dist 29124] Re:cmewが例外で終わる

Message-Id: <20100219.143033.80340118.kazu@xxxxx>
Date: Fri, 19 Feb 2010 14:30:33 +0900 (JST)
From: Kazu Yamamoto (山本和彦) <kazu@xxxxx>
Subject: [mew-dist 29123] Re: cmewが例外で終わる

| % cabal update
| しておいて、mew/bin/hs の下で
| % cabal install

| として下さい。

FreeBSD/adm64ですが、この手順でインストールできました。
何の役に立つかわかりませんがログを添付します。

| 当たり前ですが、Ruby の実装より速いと思います。

dryrunなしに、さっそく試してみましたところ
予想に反してRuby版cmewの方が速いです。

haskel版 46s
ruby版 21s

ユーザ時間もシステム時間もruby版の倍ちかくあるので、
なにか無駄なことをやっているのかruby版が手抜きなのか...
ZFSとの相性がわるいのか..

koie@xxxxx% pwd
/home/koie/repo/Mew/bin/hs
koie@xxxxx% time ~/.cabal/bin/cmew $HOME/MailDB/id.db >/dev/null
15.284u 27.222s 0:46.58 91.2% 3199+902k 0+0io 0pf+0w
koie@xxxxx% time ../cmew $HOME/MailDB/id.db >/dev/null
8.026u 11.989s 0:22.18 90.1% 5+1645k 0+0io 0pf+0w
koie@xxxxx% time ~/.cabal/bin/cmew $HOME/MailDB/id.db >/dev/null
15.182u 27.392s 0:48.80 87.2% 3210+905k 0+0io 0pf+0w
koie@xxxxx% time ../cmew $HOME/MailDB/id.db >/dev/null
8.129u 11.376s 0:21.06 92.5% 5+1642k 0+0io 0pf+0w
koie@xxxxx%

topで観察すると1スレッドで動いていました。
haskellは勝手にマルチスレッドになるというわけではない?

| 忘れている人もいるかも知れないので、Haskell の smew の方がいい理由を述
| べておきます。Ruby の smew は、自分を根とする木しか表示できませんが、
| Haskell の smew は、一旦起源となる先祖を突き止めて、そこからの木を表示
| します。

たしかruby版は以下のように
祖先はたどるが祖先の子孫は表示しないという仕様だったかと。

o
|
o
|
o 自分
/ \
o o
/ \
o o

--
KOIE Hidetaka <hide@xxxxx>

投稿者 xml-rpc : 2010年2月19日 20:28
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/93465
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。