E500BASIC高速化のすべて

PART 8 IF文をうまく使う


 PART4の(5)について考えていきましょう。
 と思いましたが、IF文に関しては「IF文を制する者はBASICを制す」で詳しく書いてあるので、まずそちらを読んでみてください。
 IF文はBASICではほぼ必ず使われており、使われている数が多い分だけ高速化ができる可能性も高いのですが、最後に書くことになったのには理由があります。それは、IF文そのものを高速化しなければならないということは少ないからです。
 実際のところ、ゲームなどではアルゴリズムを変えてしまうとIF文の判定条件そのものが変動してしまうために最初にIF文に注目してそこを速くしても無意味になることも少なくないです。「IF文を制する者はBASICを制す」のPART5で書いたIF文における処理を速くするにはIF文のある行のみに注目していたら分からないというのはこういう面もあるからです。
 したがって、IF文に注目する場合は部分を見た後に全体を見るのではなく全体を見た後に部分を見る必要があります。それを考えればIF文そのものを高速化しなければならないという場面は最後の最後になってようやく訪れることが分かるでしょう。だからこそIF文を制するにはBASICを制する必要があるというまとめになったわけです。
 「IF文を制する者はBASICを制す」では、すでにあるIF文をどうやって速く(短く)するのかということを書きました。しかし、場合によってはそのIF文そのものが不要になるということもあるためにそのIF文が本当に必要かどうかということから考えていく必要があるわけです。PART6を見てのようにIF文が省略可能になることは少なくないですからね。このPART8のタイトルが「IF文を高速化」ではなく「IF文をうまく使う」となったのはそのような観点に基づいてのことです。

PART9に続く


PART 1 なぜBASICを高速化するのか
PART 2 効率的な高速化を行うためには
PART 3 BASICの高速化とは
PART 4 どうやったらBASICが高速化できるのか
PART 5 アルゴリズムの見直し
PART 6 メインルーチンの軽量化
PART 7 表示を高速化
PART 8 IF文をうまく使う
PART 9 「BASICだから遅い」は言い訳の言葉

RETURN

inserted by FC2 system