・ 「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):IRQn:0~63を測定した結果は、6~11us->6~9usに短縮、eventなしは4usで変わりません。
1.2 Optimization設定
・ Optimization level:0->1 に変更すると、劇的に改善されました。 Speed設定はそれほど影響しませんでした。
・ Event_read(irqn):IRQn:0~63の測定結果は、6~9us->3~4.5us、eventなし4us->2.5usに短縮しました。
2 マルチイベント処理の測定結果
・ 末尾添付のexample:Event_lpm30_2を使い、Optimization level:0->1 の相違を測定した結果、
緑パルス:最初のEvent_read()開始から最後のEvent_read()終了まで48us->32usと2/3に短縮しました。
1) Optimization level:0
2) Optimization level:0->1
3 example