Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Having tried out the menu with a large menu (5,000 items), both Drupal and the Project Light JavaScript are beyond slow. (Refs #40)
The latter's out of scope for this repo, but the former needs to be resolved (or a least improved, a large amount of data will always be large).
It looks like most of the problems are to do with the
RecursiveArrayObject
. It turns out that this isn't actually needed, and this change dramatically improves performances (note that it's still a few seconds to generate the page, plus nearly 10 in the JS, so I don't think that large menus can ever be displayed all in one go).I'm still testing this to make sure that it doesn't introduce regressions, and there might be other areas that can be improved.