tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトル実行速度の違いを知りたい
記事No15460
投稿日: 2012/04/25(Wed) 23:17
投稿者ゆうや
Win.XP で VB6SP6を使っています。VB6は10年くらい?やってます。

開発環境での速度と実行ファイル上での速度の違い(比)を知りたいです。

今回初めて「QueryPerformanceFrequency」「QueryPerformanceCounter」API関数を
使うことになりました。で、開発環境と実行ファイル上での動作速度が違うという
場面に遭遇し悩んでます。

実行ファイルを作る時は
「ネイティブコードコンパイル」「コードの実行速度を最適化」をしています、
開発環境の初期設定そのままです。

実際には、プログラム上で以下のコードを実行しています。

    '★ここで 3579545を取得
    Call QueryPerformanceFrequency(curFreq)
    curFreq = curFreq * 10000    
    
    '★所要時間取得
    lngAddCount = 0
    '実際にカウント(3579545回の加算)
    Call QueryPerformanceCounter(curStart)
    For lngCnt = 0 To curFreq
        lngAddCount = lngAddCount + 1
    Next
    Call QueryPerformanceCounter(curEnd)    
    dblSpan = CDbl(curEnd - curStart)

「dblSpan」変数に処理実行にかかったカウンタ値を取得しているのですが、
実行ファイル上では開発環境上の値の数分の1になっており、数倍速く実行されて
います。最適化しているので当たり前といえばそうですが。

この「開発環境時より何倍速くなっているか」を、実行ファイル上で知りたいの
ですが、なかなか知りえることが出来ません。パソコンのスペックにより
若干違うように見えているからです。
何か良い方法はないでしょうか。

よろしくお願いします。

[ツリー表示へ]
タイトルRe: 実行速度の違いを知りたい
記事No15461
投稿日: 2012/04/26(Thu) 22:36
投稿者ミッキー
開発環境のPCと実行ファイルを利用するPCのスペックって
全く同じなのですか?それとも違うのですか?

全く同じ → 純粋に開発環境下と実行ファイルとの動作速度の差が出せる
違う → PCスペックに左右されるので、計算しても意味がない

ゆうやさんがやりたいことは
「開発環境下と実行ファイルとの速度比較」ですよね?
であれば全く同じスペックのPCでテストすべきかと。

同一PCで開発環境で動かすテストと実行ファイルで動かすテストを
行ってみたらいかがですか?

[ツリー表示へ]