・ 「MSP432 イベントドリブン example 速度性能」 を optimization level設定でどう性能が変わるか調べました。

・ 結果として、Optimization level:0(default) -> 1(Local)に変更すると、大きな速度改善が得られました。

   条件:CCSv6.2 Compiler TIv16.9.1LTS

・ Optimization設定は、プログラム構造にも影響しますので、お客様にてご評価お願いいたします。

 

1 EventLib

 

1.1 4bitサーチに変更

 

・ Event_read(irqn)内部のビットサーチを部分を、8bitサーチから4bitサーチに変更して調べました。

・ 前回と同じく、MCLK=24MHzです。

・ 末尾添付example Test_event2を使い、Event_read(irqn):IRQn0~63を測定した結果は、6~11us->6~9usに短縮、eventなしは4usで変わりません。

 

1.2 Optimization設定

 

・ Optimization level:0->1 に変更すると、劇的に改善されました。 Speed設定はそれほど影響しませんでした。

 

・ Event_read(irqn):IRQn0~63の測定結果は、6~9us->3~4.5useventなし4us->2.5usに短縮しました。

 

2 マルチイベント処理の測定結果

 

・ 末尾添付のexampleEvent_lpm30_2を使い、Optimization level:0->1 の相違を測定した結果、

  緑パルス:最初のEvent_read()開始から最後のEvent_read()終了まで48us->32us2/3に短縮しました。

 

1) Optimization level:0

 

2) Optimization level:0->1

 

 

3 example

Test_event2.zip

Anonymous