x 過去ログを見よ!!!
目的
整数のベンチマークする
いろいろ
Arduino UNO R3は、約17542msで
STM32F303K8は、約1971msで約9倍、速い
Arduino UNO 3 約17542ms(18秒)
M5NanoC6 約336ms(0.3秒)
M5StampS3 約328ms(0.3秒)
STM32H743 約72ms(0.072秒)
STM32F303K8 約1971ms(1.971秒)
結果
プログラム
//値が100,000を超えるまでのフィボナッチ数列を生成する作業を500,000回繰り返すのに要した時間を計測する。
#define DEBUG 0
void setup() {
Serial.begin(9600);
Serial.println();
Serial.print("START");
for(int i = 0;i < 9;i++){
Serial.print('.');
delay(500);
}
Serial.println();
}
void loop() {
unsigned long x;
unsigned long prevx;
unsigned long temp;
unsigned long start_time, end_time;
unsigned long time;
start_time = millis();
for (unsigned long a = 0; a < 500000; a++) {
x = 1;
prevx = 0;
while (x < 100000) {
temp = x;
x = prevx + x;
prevx = temp;
#if DEBUG
Serial.println(x);
#endif
}
}
end_time = millis();
time = end_time - start_time;
Serial.print("END Value:");
Serial.println(x); //最後の値の出力
Serial.print("StartTime:");
Serial.print(start_time);
Serial.print(" EndTime:");
Serial.print(end_time);
Serial.print(" Time:");
Serial.println(time);
delay(1000); //1秒待機
}