You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
minimumTokenRankContainingGrapheme was accidentally
quadratic in the number of tokens sharing a grapheme.
It was executed for every token, and for each token,
it considered every single other token sharing a candidate grapheme.
It dominated hat allocation performance for larger numbers of tokens.
Memoizing the result by grapheme text makes it linear again.
No functional changes. (Confirmed by hat golden tests on another
branch.)
## Checklist
- [/] I have added
[tests](https://www.cursorless.org/docs/contributing/test-case-recorder/)
- [/] I have updated the
[docs](https://github.com/cursorless-dev/cursorless/tree/main/docs) and
[cheatsheet](https://github.com/cursorless-dev/cursorless/tree/main/cursorless-talon/src/cheatsheet)
- [/] I have not broken the cheatsheet
---------
Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>
0 commit comments