I would like to improve the searching time by implement bidirectional search with dual floodfill.
Say A is starting point and B is the goal. Both point will flooding their neighbour until they flooded certain point that will act as an intersection, let's call it "C". Then The result is path cost/step to reach C for both that bring us to total cost by sum up them:
Total_cost = A_cost + B_cost
Now we just need to traceback from A. However the traces from B need to be converted to cost "how far them from A". We need to write new value from existing b_cost towards the goal.
Total_cost-B_cost = A_cost
So now early traces from B got an A_cost in correct order to complete entire node path. That should relatively fast in theory.
Time to implement the idea.