*

C言語でEV3開発(24)-APIの実行時間を測定してみた。

公開日: : 最終更新日:2018/02/05 C言語, マインドストーム/EV3, 開発

どもです。
今回、以前から気になっていた、開発環境/プラットフォームであるTOPPERS HRP2/EV3RTが提供する各APIの実行時間を測定してみたので、その結果の報告になります。

1.測定方法
測定方法は、シンプルにしました。
10秒間、ひたすら測定対象のAPIを実行し、実行回数をカウントします。
実行回数は、実行するたびに変化することが考えられるので、この試行を10回行います。
この10回の試行回数で得られた測定対象のAPIの実行回数の平均値を、「10秒間で測定対象のAPIが実行された回数」とします。
そして、この「実行回数」から各APIの実行時間を算出します。

2.実行結果
以下の通りです。
数字の単位は、「μ秒」です。

API実行時間

API名実行時間(μ秒/回)
ev3_motor_set_power7.936463845
ev3_motor_get_power0.206981237
ev3_motor_get_counts0.190759710
ev3_color_sensor_get_ambient3.284358080
ev3_color_sensor_get_color3.257237745
ev3_color_sensor_get_reflect3.237937227
ev3_color_sensor_get_rgb_raw3.326599188
ev3_gyro_sensor_get_angle3.259262253
ev3_gyro_sensor_get_rate3.267383378
ev3_ultrasonic_sensor_get_distance3.300713482
ev3_ultrasonic_sensor_listen3.214095738

3.実行してみて
モーターの値の取得(ev3_motor_get_power/ev3_motor_get_counts)について、センサーの値を取得するAPIに比べて10分の1以下となっています。
それに対して、モーターに値を設定するAPIの実行時間が(センサー取得のAPIと比較して)倍以上となっています。
これは、どのような違いに起因するものなのでしょう…。
うーむ…。

とりあえず、調査はココまでにしておきます。
今回の調査で得られた実行時間については、おそらく最適な実行時間となっていると思われます。
そのため、他の色々な処理を実行、また定周期処理や割込み処理が実装された場合には、この時間はもっと変わってくると思います。
しかし、1つの実行時間としての目安になれば、と思います。

4.公開しています
今回の測定で使用したソースコード、及びバイナリファイルはGitHubで公開しています。

関連記事

Arduino_DHT11

温度(湿度)センサを使ってみた(1)-ArduinoでDHT11

どもです。 今回は、久しぶりにセンサーを購入して使ってみたので、それについて記載します。 1.使

記事を読む

MY_MFC_LOGO

MFCプログラミング(2):コピー機能の実装

どもです。 前回に引き続き、今回もMFCネタです。 内容は、MFCでの「クリップボードへのデータ

記事を読む

Arduino_Logo

ホールセンサーの種類と使い方

どもです。 今回のエントリは、表題にある「ホールセンサー」についてです。 1.「ホールセンサ

記事を読む

RasPi_Qt

QtでRaspberryPi/GUI開発(5):pigpioを使ってみた

どもです。 RaspberryPiを購入して、LEDも手に入れたのでコレをチカらせてみようと思いま

記事を読む

raspberry-pi

RaspberryPi3を購入しました

どもです。 突然ですが、「Raspberry Pi3 model B」を購入しました。 今回のエ

記事を読む

no image

C言語でEV3開発(10)-opOUTPUT_CLEAR_COUNTコマンド

どもです。 前回のエントリーのラストで、「モーターを動かすコマンド」と書きましたが、今回紹介するコ

記事を読む

eclipse_oxygen

Linux/EclipseでRaspberryPiのクロス環境を構築してみた…がっ!

どもです。 前回のエントリでは、WindowsにRaspberryPi3のクロスコンパイル環境の構

記事を読む

eclipse_4.3_kepler

elicpse/CDTでのgdbでのソースを追従したデバッグができない問題

どもです。 今回のエントリーは、Eclipse上でgdbを利用したデバッグ中に発生する問題について

記事を読む

no image

C言語でEV3開発(13)-opOUTPUT_STEP_SPEEDコマンド

どもです。 今回のエントリーは、モーターを動かすコマンドである 「opOUTPUT_STEP_S

記事を読む

raspberry-pi

RaspberryPi起動時にpigpiodがスタートしないようにする

どもです。 これまでpigpioを使用してRaspberryPiからLEDをチカらせる方法など、い

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

source_trail_eye_catch
Sourcetrailを試してみました(2)-Eclipseと連携

どもです。 前回のエントリで、ソースコードを解析するオープンソース「

source_trail_eye_catch
Sourcetrailを試してみました

どもです。 つい最近、ソースコードの解析に役に立ちそうなツールを見つ

SEN0193_0114_eye_catch
土壌湿度センサーの出力値の比較:SEN0114とSEN0193

どもです。 今回も、センサーの性能、測定結果を比較してみた結果につい

ADT7310_DHT11_eye_catch
温度センサの出力値の比較

どもです。 今回は、センサーの性能、測定結果を比較してみたので、それ

DIY_eye_catch
自宅で電子工作(2)-ラズパイのSPIコネクタ自作

どもです。 今回は、電子工作です。 1.何を作った 今回紹介

→もっと見る

PAGE TOP ↑