Debian sh7785lcr ボードベンチマークメモ

Debian/SH4 の buildd で使われている sh7785lcr ボードのベンチマークメモ。 まとめた理由は 実行速度があまりにも遅いので。gcc のビルドにが約6日かかるのは許せん。というかなんで? どこがボトルネックなのかを調べたのでメモってみる。

なんとなく理由メモ

debian の gcc では sh4 と sh4-nonfpu の2つをコンパイルしている。
なので、単純に考えて2倍ビルドに時間がかかると思う。
なぜ sh4-nofpu があるのかというと、カーネルをコンパイルするためだけに存在する(ABI的にありえないのだけど)。
一回 multilib を無くしてコンパイルしてみるかな。

スペック

  • CPU: sh7785
  • Clock: 600MHz
  • Memory: 512MB (DDR. 300MHz)
  • PCI x 4 (33MHz)

hdparm の測定

どうでもいいやつなんだけど。sh7785lcr の場合は SATA 1.5Gb なので、このへんが効いているのかな?

amd64 の場合 / C2Q Q6600 / SATA 3.0Gb

    # hdparm -T /dev/sda
    /dev/sda:
     Timing cached reads:   7726 MB in  2.00 seconds = 3865.91 MB/sec
    # hdparm -t /dev/sda
    /dev/sda:
     Timing buffered disk reads: 250 MB in  3.01 seconds =  83.14 MB/sec

sh7785lcr(32bit) の場合 / SATA 1.5Gb

    # hdparm -T /dev/sda
    /dev/sda:
     Timing cached reads:   312 MB in  2.01 seconds = 155.06 MB/sec
    # hdparm -T /dev/sda
    /dev/sda:
     Timing buffered disk reads: 192 MB in  3.01 seconds =  63.73 MB/sec

姫野ベンチ

gcc-4.4 でビルド。

    Loop executed for 193 times
    Gosa : 1.702956e-03 
    MFLOPS measured : 53.763735    cpu : 59.115412
    Score based on Pentium III 600MHz : 0.65565

Pen3 の600MHzよりちょい遅いといった感じ。

CONFIG_BSD_PROCESS_ACCT を使って、どこに時間を食っているのか調べる方法

CONFIG_BSD_PROCESS_ACCT をカーネルで有効にして、acct パッケージにある lastcomm を実行すると、 どのプロセスがどれぐらい時間を食っているのか、調べることができる。