Raspberry Pi 4 Model B(8G RAM) 購入…でも遅い?

動機

最近、顔認識系の工作を始めているのですが、所有しているRaspberry Pi 3 だとOpenCVの応答速度が非常に遅かったため、この期に以前から気になっていたRaspberry Pi 4 を購入しました。

注意点

・Raspberry Pi4 には、メモリの大小でバリエーションがあります。2G、4G、8G。
・画面への出力には、MicroHDMIケーブルが必要です。通常のHDMIでは接続できないので、変換アダプタが必要となります。
・電源はUSB-TypeCで供給します(Pi3では、TypeAでした)

買ったもの

今回はAmazonさんで普通に購入しました。
せっかくなので、現時点で最高スペックの、メモリ8Gのバージョンを購入。

スタートアップキットもありましたが、いろいろついて割高っぽく、手持ちの部品もあるので、付属品は別購入としました。 ケースは、以下を購入。

開封の儀

f:id:camelrush:20210915230103j:plain

f:id:camelrush:20210915230123j:plain

f:id:camelrush:20210915230137j:plain

f:id:camelrush:20210915230147j:plain

速度比較…いまいち遅くないか…?

Pi3に比べてメモリ量が桁違いなので、ノートPCのような応答を想像していたのですが、実際に動かしてみるとPi3とそれほど変わりなく、Chromeブラウザの起動・タブ追加も、もっさり感が…。
少し調べたところではMicroSDカードのアプリケーションクラスによって応答速度が結構違うという話があり、急いでA2のカードを購入しました。

ただ、これでも大きな差は感じられず…。期待しすぎなのかな…。

ベンチマーク

体感だけだとわからないので、ベンチマークで値比較をすることにしました。 使用したのは、byte-UnixBench です。

導入・実行方法

ターミナル画面で以下のコマンドを実行し、ソースのダウンロードとビルドを実行します。

# git clone https://github.com/kdlucas/byte-unixbench.git
# cd byte-unixbench
# cd UnixBench
# make

終了後、以下のコマンドでベンチマークを実行します。

./Run

実行結果

以下のとおりでした(左が、右が)

f:id:camelrush:20210915083020p:plain

各指標は、上からの順で、以下の通りです。

  1. Dhrystone 2 using register variables
    2つのレジスタを使ってシステム(整数)プログラミングの性能
  2. Double-Precision Whetstone
    浮動小数点演算性能
  3. Execl Throughput
    関数の呼び出し性能
  4. File Copy 1024 bufsize 2000 maxblocks
    ファイルのコピー(バッファサイズ1024バイト)
  5. File Copy 256 bufsize 500 maxblocks
    ファイルのコピー(バッファサイズ256バイト)
  6. File Copy 4096 bufsize 8000 maxblocks
    ファイルのコピー(バッファサイズ4096バイト)
  7. Pipe Throughput
    パイプ処理のスループット
  8. Pipe-based Context Switching
    パイプベースのコンテキストのスイッチング処理
  9. Process Creation
    プロセス作成
  10. System Call Overhead
    システムコールでのオーバーヘッド
  11. Shell Scripts (1 concurrent)
    1つだけシェルスクリプトの実行
  12. Shell Scripts (8 concurrent)
    8つ同時にシェルスクリプトの実行

伸び幅が低いのはともかく、Pi3よりも低いところがある原因がわからない…。
メモリ量 1G->8Gで、CPU性能も向上しているはずなのに、下がることなんてあるんだっけ…。

今回は以上となります。