gh-116738: Inline append for local PyList#135196
Closed
Uh oh!
There was an error while loading. Please reload this page.
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.
Append items to the local list in a loop without a lock.
Appending to the list without a lock can improve performance, but testing
grp.getgrall()produced noisy results, making it difficult to determine any improvement. Running a micro benchmark with a function that adds over 100K items to the list using_PyList_AppendTakeRef()instead ofPyList_Append()showed about a 35% performance improvement.cc: @mpage@colesbury