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.
List of Affected Nodes/Modules
All nodes returning a wrapped element would benefit
Current Performance
The current implementation works perfectly fine. However the newer C# language features do provide some performance advantages here. This change does get rid of the previous public wrapper methods and might potentially cause issues if any external code was relying on them.
Proposed Performance
we manually inline all of the one-liner wrap methods into a single pattern matching switch table.
Dynamo Tuneup Comparison
On the standard arch. sample model collecting all elements of all categories five times over (about 125k element conversions in total), we can improve performance from 71 seconds on average down to about 66 seconds.
This change might make the
ElementWrapper
code base less legibile.Checklist