PR

Arduino UNO R3とR4とで処理速度の比較

記事内に広告が含まれています。

 先日、ピン入出力の高速化とその速度比較を行ったのですが、今回は演算処理の速度比較を行ってみます。

Arduino UNO R3/R4 Rapberry Pi Picoのスナップショット

 UNO R3、R4、とついでにRaspberry Pi Picoの3機種で比較。ただ単純にひたすら足し算していくだけの処理で速度比較してみます。

スポンサーリンク

使用スケッチ

// 2023/11/26 imo lab.
// https://garchiving.com/

uint32_t core0_Timer, core0_dt, ans;

void setup() {
  Serial.begin(9600);
  delay(1000);
}

void loop() {
  Serial.println("start....");
  core0_Timer = micros();
  for (int32_t i = 0; i < 1000000; i++) {
    int32_t x[3] = { 0, 0, 1 };
    ans = 0;
    while (ans < 100000000) {
      ans = x[0] + x[1] + x[2];
      x[0] = x[1];
      x[1] = x[2];
      x[2] = ans;
    }
  }
  core0_dt = micros() - core0_Timer;

  Serial.print(" ans:");Serial.println(ans);
  Serial.print("time:   ");Serial.print(core0_dt / 1000000.0, 3);Serial.println(" s");
}

 ひたすら足し算していくだけの処理ですが、大きな数値の出し入れをしたかったのでこのような処理をしてます。トリボナッチ数列と呼ばれる前3つの値を足し続ける数列で、1億を超えるまで計算。でその計算を100万回繰り返す処理時間を計測します。

UnoR3の測定結果

 UnoR3ではおそよ47秒程の処理時間。R4とPicoも全く同じスケッチで時間測定します。(PicoはEarle F. Philhower版のボード使用)

各ボードの比較結果

ボード動作クロック処理時間
UNO R316MHz47.217s
UNO R448MHz4.784s
Pico133MHz1.989s
Pico(OC)240MHz1.098s

 R3、R4は動作クロック差の 割にはずいぶん早くなってる感じです。Picoはオーバークロック(240MHz)も比較してます。

スポンサーリンク
スポンサーリンク

コメント

タイトルとURLをコピーしました