Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some changes regarding performance / memory #66

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Bellian
Copy link

@Bellian Bellian commented Nov 8, 2018

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

@Bellian Bellian changed the title Some changes regarding performance / menory Some changes regarding performance / memory Nov 8, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant