VB6.0での疑問点

質問された物の答えがさっぱり見えて来ないので調べるためのメモ

VB 環境編 (その二) オプティマイズコンパイル - SAK Streets

上のページにあるコンパイルタグの「最適化の詳細設定」の中にある、

  • 配列の範囲チェックを削除
  • 整数の桁あふれチェックを削除
  • 浮動小数点のエラーのチェックを削除
  • 浮動小数点を丸めない処理を許可

これらがどういう処理をチェックしているのか、どう言う風にチェックしているのか。
(⊃д⊂)日本語のままなんでしょうけどいざコードで見る時には変わると思うんですよねぇ。
質問をした方の話によると上記の4つのチェックをオンに設定するだけでパフォーマンスが約2倍位に上がるそうです。

確かに2倍に上がるからにはチェック等を飛ばしていると思うのですが解らないとかなり怖いですよね。。。

ちなみにネットでぱーっと調べた感じだと。。。

「整数の桁あふれチェックを削除」が無効な場合(デフォルト)
空ループでも削除されない。一回ごとに桁あふれチェックをするから。


オンにすると、[整数の桁あふれチェックを削除] オプションは整数演算に対してオーバーフロー エラーのチェックをオフにします。既定では、オフなる。
オフにすると、[整数の桁あふれチェックを削除] オプションは空ループでも毎回桁あふれチェックをするのでオーバーフローのエラーのチェックをオンにします。


[配列の範囲チェックを削除]
これにチェックすると、配列で存在しない項を参照し、値を代入してもエラーが起きなくなります。

これは配列を使うたびに指定したインデックスが配列に存在するかチェックしなくなるからです。
よって配列関係のスピードがかなり上がります。
逆にVBが保護をしてくれなくなるので、Windows自体が落ちることもありえます。
これは各自の判断で行ってください。


整数の桁あふれチェックを削除
これにチェックすると整数を使った計算速度が上がります。
その代わり変数がオーバーフローしようともVBは何も言いません。
http://www5.ocn.ne.jp/~minute/article/vb/a7.html

(´・ω・`)うーん。もう少し自分で打ったりして調べて見る必要がありそうだなぁ。