ファイアーエムブレムのようなマス目上を一定の移動力で移動できる範囲を計算させたいんだけど

移動力が10くらい
1.タイル通行可能か判定
2.マス上の残り移動力判定(他のルート時の残り移動力と現在のルートの残り移動力とどちらが多いか)
3.マス上にキャラクタが存在するか判定
4.タイルのタグによる通行可・不可能判定

でやってるんだけど
処理行数が150万とかになるんだけど、これって多いの?
再起処理回数も7000以上とかどこか間違ってる気がしてならない