[過去ログ] Arduino初心者熱烈大歓迎質問スレ part25 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
773
(3): 2019/12/30(月)23:07 ID:+x3kapch(1/2) AAS
>>771
実行速度測るだけなら
micros()を使って実行前と実行後の時間差を引き算すればわかるよ
単位は4μ秒毎でわかる
機材は要らないよ
もう少し細かい単位で時間見たいなら同じ処理を
100回とか1000回繰り返して時間を見ればいいと思うよ
785
(2): 2019/12/31(火)09:55 ID:aSj6pKNX(1/2) AAS
>>773
おおむね知りたい数値を知ることができました!ありがとうございます。
arduinoが自分で測ればよかったんですね。
気がつかなかった・・・

>>772
この方法の場合、そのオーバーヘッドがどのくらいかかったかというのはどうやって測ればよいのでしょうか?
790: > 2019/12/31(火)13:41 ID:1KV0R57t(1) AAS
>>785
>この方法の場合、そのオーバー
>ヘッド(中略)はどうやって

>>773 にその答えも書いてある
digitalWriteを10000回繰り返したときと20000回繰り返したときの差を取れば純粋にdigitalWriteのコストがわかる。同じ値の繰り返しは最適化の懸念が残るので1/0交互にするかな。
ところで
digitalWriteって最適化懸念無いんでしたっけ?
791
(2): 773 2019/12/31(火)14:37 ID:Zt81snPl(1/2) AAS
>>773
自分で書いて間違いを2回訂正するの恥ずかしいけど
100回とか1000回繰り返したときにコンパイラの最適化を回避しないと
100回分のつもりで1回の時間しか測れないので、この手段は避けてほしい
変数の宣言をvolatileとかでやれば最適化を回避できるかも

あと、やってないともうけど
関数やループの前後にSerial.println(micros());とかで時間を比較すると
シリアル出力処理の余計な時間が足されるので開始時間を変数に収納して
出力時に処理してね

例>
省8
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.027s