ひとりごと

新しい記事:[2127]  古い記事:[2125] 表示単位 :

ついったー[おとなり日記] かがみさん Y.Kumagaiさん

2008/01/08 (火)

・ その後のFreeBSD7

いろいろ遊んでみました。

ULE v.s. 4BSD
昨日はいきなり ULE でカーネルを構築して速度計測してみたのですが、念のために 4BSD でも測ってみました。結果、
誤差程度の違いしかありません
いやはや、単一プロセスでもデュアルコアが活用されているのがうれしかったのですが、これは特にスケジューラの影響というものでもなかったようです。GENERICカーネルでは 4BSD がデフォルトなので、とりあえずこっちを使うことにしようかな? コアの数が4とか8になってくれば ULE が効いてきそうですが、うちのサーバがそうなるのは何時のことだろう。
ffmpeg
WITH_OPTIMIZED_CFLAGSを付けて make すると正常に動作しないのですが、 Makefile によると、このオプションをつけると
CFLAGS:= ${CFLAGS:N-O*} -O3 -ffast-math -fomit-frame-pointer
になるのだそうです。ここで -ffast-math を削ってやるとエラーは出なくなるのですが、デフォルトの-O2だけに比べてさほど高速化する様子もありません。てことで、こちらもデフォルトで使用することに。
mpeg4ip
こちらは原因がよくわからないのですが、mp4info を動かすとコアを吐いて止まります。バックアップ用に使っているFreeBSD7.0-BETAで作成したものはちゃんと動きます。動くシステムでパッケージを作成して持ってくるとちゃんと動くようになります。でもローカルで ports を make すると動きません。謎。。
  1. make world に失敗している
  2. ビルドのタイミングの問題でうまく動かないだけ
  3. ハードウェアが異なるのでコンパイル結果が違う
のどれかかな? FreeBSD6で作成したportsのプログラムはちゃんと動いてますので、しばらくそのままで様子をみましょう。リリース版が出たころに再構築したら万事うまくいくと願って

↑ portupgrade -af すると直りました(^_^)

ffmpegの -threads オプションを使えばマルチコアが有効利用されるようになりました。かくしてクワッドコアのCPUを買ってきて取り付けるとそれなりの速度で動くはずなのですが、

デュアルコアだとPC一式で4万円、クアッドコアだとCPUだけで3万円強
という現状ではとても買ってくる気になれないですね(苦笑)。

□ 関連記事

[つっこみ]

新しい記事:[2127]  古い記事:[2125] 表示単位 :
※このページへのリンクは自由です。リンクの方法については[つっこみ]で表示されるページの最後をごらんください。
たかたに(takatani@mars.dti.ne.jp)