Add a fast-path case for enumeration of keys and objects for bridged Dictionaries #6421
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.
This adds a fast-path accessor for enumeration of the bridged representation of Dictionaries such that Foundation can take advantage of that particular fast-path when bridging property list types
Custom benchmark of profiling 10000 property lists from /Applications shows that the average time per plist to convert back to data before this change is approximately 0.019s on the machine I tested with. After the change (with the corresponding Foundation change) it is approximately 0.0094s (mileage and exact numbers subject to change per hardware). This will not be in effect until Foundation fully adopts the proposed changes required for taking advantage of this as a fast-path (so no current benchmarks should show any markable difference)