While trying out the below applet, I saw that this path finding algorithm called Jump Point Search yields significantly faster result than A* and Dijkstra.
A*: 46 seconds
Dijkstra: 1 minute 39 seconds
Jump Point Search: Less than 3 seconds
Needless to say, I'm quite astounded at the result. From visual representation, Jump Point Search seems to be making a lot of random guesses (probably very intelligent ones) at finding the path (from the block selection at least), but I haven't yet found a test case where this algorithm yielded worse results than A* and Dijkstra.
How does this algorithm work? How is it so efficient in comparison with A* and Dijkstra?