Arduboyで処理時間を計る
今後パフォーマンスを計ることもあるかもしれないので、処理の時間を測ってみた。
今回の目的は、時間の計り方を知ることだったので、重そうな処理を適当にグルグルと回してみた。
#include <Arduboy2.h> Arduboy2 arduboy; #define N 1000 static float dust; void setup() { arduboy.begin(); arduboy.setFrameRate(60); arduboy.clear(); } void loop() { if (!arduboy.nextFrame()) return; arduboy.clear(); uint32_t start = micros(); for (uint16_t i = 0; i < N; i++) { dust = sinf(float(i) / N); } arduboy.print(micros() - start); arduboy.print("\n"); start = micros(); for (uint16_t i = 0; i < N; i++) { dust = acosf(float(i) / N); } arduboy.print(micros() - start); arduboy.print("\n"); start = micros(); for (uint16_t i = 0; i < N; i++) { dust = atanf(float(i) / N); } arduboy.print(micros() - start); arduboy.print("\n"); start = micros(); for (uint16_t i = 0; i < N; i++) { dust = sqrt(float(i) / N); } arduboy.print(micros() - start); arduboy.print("\n"); arduboy.display(); }