Raspberry Pi PicoはArduino IDEでも開発できるが,公式推奨のMicroPythonとどれくらい実行速度に差が出るかを検証した.
アナログ入力の読み取り処理をMictoPythonとArduino言語で記述し,それぞれ1000回実行したときの実行時間から読み取り1回あたりの実行時間を計算した.
MicroPythonのプログラム
- import utime
- import machine
- adc=machine.ADC(0)
- time1=utime.ticks_us()
- for i in range(1000):
- a=adc.read_u16()
-
- time2=utime.ticks_us()
- print(utime.ticks_diff(time2,time1))
Arduino言語のプログラム
- void setup() {
- Serial.begin(9600);
- }
- unsigned long time1, time2;
- uint16_t a;
- void loop() {
- // put your main code here, to run repeatedly:
- time1=micros();
- for (int i=0; i < 1000; i++) {
- a=analogRead(26);
- }
-
- time2=micros();
- Serial.println(time2-time1);
- delay(5000);
- }
結果は以下のようになった.参考としてArduino Everyの結果も載せている. 最も実行時間が速いのはArduino言語で,MicroPythonの約2.5倍,Arduino Everyに対しては19倍速かった.実行時間への要求がシビアな場合は,MicroPythonよりもArduino言語を使った方が良いのかもしれない.
0 件のコメント:
コメントを投稿