-
Notifications
You must be signed in to change notification settings - Fork 0
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
Initial data load takes a long time #4
Comments
Was an attempt to fix Issue #4, but I had forgotten that the initial list view sorts by difference_score, which requires fetching full details for every item anyway... At the very least this does mean we don't have to fetch details for non-duplicate items.
This is as fast as we can reasonably get the initial load without getting rid of the score-based sorting. |
Reopening. Turns out I'm not actually being rate-limited yet, but the calls themselves are I/O-bound, which means I should be able to parallelize. Additionally passing the --vault argument for each get call reportedly would improve latency. |
With some experimentation, I was able to infer that the 300th item get call in a single minute trips me over whatever actual qpm limits the 1Password API uses, so this allows me to reduce what used to take about 10-15 minutes down to about 3 minutes (with N~800 items). So, significant speedup, but still not quite fast enough to ditch the on-disk cache. Relevant commits: |
I was hoping that 5cc958c would result in fewer backend API calls made by the op command line when running an |
Initial data download takes a very long time because it has to make a ton of API calls, one per item in 1Password. I plan to switch the first call to “item list” to provide json output, which includes enough details that I can get rid of all the per-item calls when composing the list view, so the initial loading will change from many minutes to a few seconds. This should obviate the need for me to do on-disk caching. Also just makes the whole experience more pleasant.
The text was updated successfully, but these errors were encountered: