先日のJSアメーバのコードを、ブラッシュアップして超高速化してみた。 ぬるぬる動いて、2〜3分後には自走して弱小アメーバを襲い始めるよ。 やはり2〜3時間で書いたインチキコードは無駄やバグが多いので、ある程度整理することに。 前バージョンでは、各ノード毎の引力斥力計算を個別にやっていた。 そのため、毎回A→Bの距離と、B←Aの距離をそれぞれ別個に計算してたりして遅くなっていた。 今回のバージョンでは、フレーム毎にまとめてノードの関係性ルックアップテーブルを生成することで、処理を大幅に短縮してみるなど。 8万回だか16万回だか計算していた距離や引力の計算を、2万回に短縮、おかげで割と高速化。 ルックアップテーブルマジ最強。 ここから楽しい描画ルーチンの最適化・・・に進むのだけど、 正直、JavaScript(しかもprocessingフレームワーク状)環境だと、高速化の勘所がまったくわからな