VB初心者質問スレ Part6
レス数が900を超えています。1000を超えると表示できなくなるよ。
0932デフォルトの名無しさん
NGNG速さを求める、な。
本当に速さを求めるなら Cとかアセンブラとか直で機械語とか…は置いといて。
VBだと
・型は明示する ( Option Explicit 必須 )
・基本的に数値は Long
・文字列操作関数も型を明示する ( Left$ とか )
・描画系にVB標準のメソッドを使わない ( PSet, Line とか )
・プロパティ等を3回以上(曖昧)使うときは一旦変数に落とす
・iif とか遅い関数は使わない
・Sub とかの関数の、数値系の引数は明示的に ByVal する。
・除算時に小数点以下要らないのであれば / ではなく \ 演算子を使う
・多次元配列はできるだけ使わない (Cは大抵最適化されるがVBではまだ遅い)
・ネイティブコンパイル時にコンパイラオプションのチェック全部入れる
あと、VBに限らないけど
・For ループはできる限りデクリメントに
・無駄な計算はできるだけ省く ( テーブルとか使って )
・Sub, Functionできるだけ展開する
とか。最後のはコードの読みやすさとトレードオフだけど。
VBってビットシフト無いから乗算をビットシフトに、とかできないもんなー。
あと、 With ステートメントって遅くなった気がするがどうか?
適当に試してみたら使わない方が速かったよーな。調べてないからわからんけど。
言われて思いつくのはざっとこんな感じ。ツッコミキボンヌ
レス数が900を超えています。1000を超えると表示できなくなるよ。