easystarjs
easystarjs copied to clipboard
Some changes regarding performance / memory
Hi there. I just started to use this library and have some (hopefully) improvements for this lib.
Changes in src/node.js will reuse the bestGuessDistance having a minor impact on memory usage and performance benefit in chromium on big grids.
Changes in src/easystar.js are improving the directional constraint checks.
Directional constraints are represented in a bitfield instead of a string array.
A check if the field is accessable by the given direction is the performed by a simple & operation src/easystar.js:475
This should greatly improve the performance of directional constraints
Sadly there is no benchmark realy using directional constraints.
I am not shure about src/easystar.js:478 but it might also improve performance https://jsperf.com/for-loop-vs-indexof
The tests run smoothly and the benchmarks show a great improvement on larger grids. I would be happy to discuss these changes.
Best Bellian