FreeBSDでMPEG4エンコードするととても便利なのだけれど、ちょっと遅いのと箱体が省スペースなのでフル稼働させると高温かつCPUファン高回転でやかましいのが困るな~ということで入れ替えてみることにしました。ここ何年かは新品にしても中古にしてもメーカー製完成品しか買ったことがなかったのですが、今回は「そこそこ新しいCPUじゃないとマズい」「要求されるのはCPUぐらい」「最近のCPUはそんなに熱くならないのでリテール版でも静か」ということでPC組立キットなるものを買ってみました。ぜんぶで¥39,800也。
カスタマイズもできましたが、納期が遅くなってもいやなので標準内容での注文です。セット内容は下記の通り。
同じお店での単品価格と比較すると、バラバラに買うよりも3千円ぐらい安い設定になっているようです。でも久々にPC組立してつくづく思いました。完成品を買えばよかったです(苦笑)。
それはさておき、いきなりFreeBSDを入れる前に、Pentium-DC 1.8GHzというのはお絵かき機の Core2Duo 1.86GHz とどれほど性能差があるのか実験してみました。まずは Windows Vistaのインストールです(笑)。
お絵かき機は4.2でしたので数値は圧倒的に負けているのですが、プロセッサは同じ、HDDなんて逆に勝ってますね。グラフィックが軒並みダメダメですが、サーバ機では全く関係ないのでOKです。
次に簡単なベンチマークとして、下記を実行して時間をストップウォッチで計ってみました。
>ffmpeg -y -i hoge.mpg -vcodec h264 -b 400k -an fuga.mp4
Core2Duo 1.86GHz
(Windows XP)1分27秒80 PentiumDC 1.80GHz
(Windows Vista)1分29秒22
うお、どっちも変わんないよ!! Pentium-DC ってキャッシュ容量以外はCore2Duoとおんなじはずなのですが、条件がそろえば同じようなスコアになるのですな。ちなみに、上記のffmpegはシングルスレッドにしか対応していない版なのでデュアルコアを使うと性能差が開くかもしれません。
余談ですが、SATAのCDドライブはDELLのPCに付いてたやつが余ってたのでこれを使いました。てことでスーパーマルチドライブは余りました。これって3千円ぐらいはすると思います。てことはつまり、セットで買ってもちっともお買い得ではなかったということかもー(T^T)。
□ 関連記事
Windowsで遊んでいても仕方がないので、サーバー機のHDDを持ってきて動かしてみました。メーカー製PCと違ってばら売りのマザーボードは最近の機種でもパラレルATAが付いてるみたいで、HDDを物理的に持ってきて繋ぐだけで使えるようになりました。
SMPカーネルを作成し、いつものオプションを指定してffmpegでエンコードした結果。
旧サーバ
Pentium4-2.8GHz1分38秒 新サーバ
PentiumDC-1.8GHz1分17秒
新サーバでは -threads 2 オプションをつけています。う~む、確かに速くはなっていますが、、、コストパフォーマンスが良くないですな(笑)。これでは解決になっていないということで、ffmpeg他のコンパイルオプションをちょっと見直してみました。
新サーバ
ffmpeg再コンパイル1分08秒
ん~、当初と比較すると70%の時間。まぁこんなもんですかね~? でもいろいろ遊んでいて面白いことに気づきました。
ffmpeg を2つ同時に実行させてもかかる時間は 1分10秒あれ?? -threads オプションは付けているものの、使われているコアは1つだけだったのですな(笑)。エンコードに時間がかかって問題になるのは「翌朝でかける前に終了してないかもしれない」ということなので、複数のファイルを平行してエンコードするようにしてしまえば良さそうです。自動実行スクリプトに少し手を入れる必要がありますが、元々同時エンコードも可能な仕様にしていたはずなので少しの改造で済むはず。うまくいけば実質半分の時間でエンコードできます。
ちなみに今回の最大のオチはネットワークインタフェイス。オンボードでギガビットイーサの口があるのですが、ここに差し込んでもランプが付きません。てゆーかFreeBSDの起動時に何のメッセージも無いし ifconfig でもなにも出てきません。あれま、非対応ですか。FreeBSDってNICのデバイス対応はかなり充実しているので油断しておりました。コンピュータはソフトウェアが無ければたたの箱と言いますが、FreeBSDはネットワークインタフェイスが無ければただの箱と化しますな。物置きをあさってると今は無きDECのPCI NICが出てきたので、これを差し込んで事なきを得ました。最近はオンボードなのが当たり前で、NICなんて使わないから一瞬どうしようかと思いましたよ(^_^)。
# PCを変えなくても再コンパイルすればよかったのでは、とかハイパースレッディングを