掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
実行速度の差 (ID:76240)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>VBでネイティブコンパイルをした場合、VBの演算関数をランタイムから >呼び出して実行しますが ランタイムから呼び出すのはP-CODEの場合です。 (ランタイムというよりP-CODEインタプリタですが) ネイティブの場合はアセンブリ言語で言えばJMPニーモニックに 相当するマシン語(ネイティブ ランゲージ)で呼び出します。 >VC++のように演算関数を使ってもインライン展開して実行される方式と比べると >ネイティブであるEXEからVBのランタイム呼び出すのはどのくらい遅くなるのでしょうか。 ネイティブに落ちたあとの関数にはいる直前のマシン語命令から 関数内の最初のマシン語命令を実行するまでの時間差という意味なら、 Long型引数1個の場合、レジスタにイミディエイト値をMOVして 関数エントリに間接JMPするだけですから、違いは十数クロックというところでしょう。 このぐらいなら人に聞くまでもなく、逆アセンブルリストをみれば一目瞭然です。 しかし関数呼び出しのコストなんてたかが知れてますから、 この比較そのものにあまり意味がありません。 しかし気になるなら実測してみたらどうでしょう?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.