-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Research: Store search tree for faster access times #51152
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
Comments
@hannojg, this Monthly task hasn't been acted upon in 6 weeks; closing. If you disagree, feel encouraged to reopen it -- but pick your least important issue to close instead. |
@mountiny can you please reopen? The initial PR for changing the search algorithm to a search tree took longer than anticipated. We are going to look into these items next, so its still l a priority! |
@hannojg can you please make sure to verify we still need these changes (all those reopened) and if the benefits are still worth it. Would be good to bring this up to the quality channel to make sure we are still happy with spending time on this. I feel like there might be higher priority tasks around |
@hannojg, this Monthly task hasn't been acted upon in 6 weeks; closing. If you disagree, feel encouraged to reopen it -- but pick your least important issue to close instead. |
This is a follow up from this PR:
which was created for this issue ticket originally:
This is a follow up ticket where we'd like to do some research on how to maximise efficiency.
The data a user wants to search through in expensify don't change that often that much (new reports are added, or new coworkers are added to a workspace, but overall these are only small additions if that user has 20k personal details - we don't expect those to change that often).
Right now on every app load we construct a new
FastSearch
instance, which is efficient but still takes some time and resources (it takes longer the bigger the data set of the user).We could optimise this by storing the backing array buffer of the search tree, and on app start just loading it from storage. We assume that this can be very fast as array buffers don't need to be serialized and are very quick in react-native-mmkv and indexeddb.
With this ticket we want to see, if this approach and added complexity would be worth the performance gain.
The text was updated successfully, but these errors were encountered: