2009-08-12

http://anond.hatelabo.jp/20090812143245

確かに。で、これまたエレガントではない対処法で、ループでかかってる時間を差っ引くのはどう?

予め空ループをブン回して、ループ処理にかかる時間を測定。

次に、測りたい関数を入れたループを回して時間を測定。で、予め測っておいたループ処理分を差っ引く。

フツーに詳しい人のご名答を待った方が勉強になりそうです、降参!

ってか、降参ついでにいぢけてみると、昔のDOSマシンマイコン/アセンブラ、遅っそいミニコン/WSならともかく、

イマドキの(パソコンでさえ)すっごい速い計算機マルチタスクOS上で、10ms以下のような小さいプログラムの実行時間を、

実験的に評価する意味があるのかと、ふと思った。むしろ、手計算であれ機械計算であれ、論理的にステップ数を計算した方がいいような。

だって、ループ処理でかかる時間が誤差に効いてくるぐらいなら、ループしてる間に他のタスクから受ける割り込みの影響も出てしまうと思うもの。これはどうなんだろう。

記事への反応 -
  • エレガントではないけど、ループで回して時間を稼いで、あとでループ回数で割るとか。

    • f1(),f2()自体が10msかからない関数だよ。 ループ処理の実行時間が誤差として切り捨てられないのでは?

      • 確かに。で、これまたエレガントではない対処法で、ループでかかってる時間を差っ引くのはどう? 予め空ループをブン回して、ループ処理にかかる時間を測定。 次に、測りたい関数を...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん