fix(auth): Speed up the PageIterator by evaluating items once per page#572
Merged
hiranya911 merged 1 commit intofirebase:masterfrom Sep 8, 2021
Merged
Conversation
20991aa to
b8a078d
Compare
hiranya911
reviewed
Sep 8, 2021
Contributor
hiranya911
left a comment
There was a problem hiding this comment.
Thanks @davidwtbuxton for looking into this. Fix looks pretty good. Just had one suggestion. WDYT?
b8a078d to
0c79d76
Compare
The `firebase_admin.auth.list_users().iterate_all()` method uses a sub-class of PageIterator, which happens to access the .items computed property more than once for every page of results. This has been changed so we take care not to access the `self.items` property more than once per page. This is a lot faster.
0c79d76 to
e979ed3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The
firebase_admin.auth.list_users().iterate_all()method uses a sub-classof PageIterator, which happens to access the .items computed property more
than once for every page of results. This has been changed so we take care
not to access the
self.itemsproperty more than once per page.This is a lot faster.
Fixes #571