Skip to content

remove ISymbol, IArgument, IIdentifierSymbol, IOption and ICommand interfaces#1538

Merged
jonsequitur merged 2 commits intodotnet:mainfrom
adamsitnik:interfacesRemoval
Dec 18, 2021
Merged

remove ISymbol, IArgument, IIdentifierSymbol, IOption and ICommand interfaces#1538
jonsequitur merged 2 commits intodotnet:mainfrom
adamsitnik:interfacesRemoval

Conversation

@adamsitnik
Copy link
Copy Markdown
Member

each of them had a single implementation and it was increasing the amount of types required to be JITted

There is a perf gain, small but still ;)

Method Args Mean before Mean after
DefaultsSync String[0] 30.004 us 28.941 us
DefaultsAsync String[0] 29.371 us 28.577 us
MinimalSync String[0] 3.366 us 3.299 us
MinimalAsync String[0] 3.453 us 3.363 us
DefaultsSync String[4] 33.569 us 32.429 us
DefaultsAsync String[4] 33.727 us 33.446 us
MinimalSync String[4] 5.739 us 5.467 us
MinimalAsync String[4] 5.888 us 5.623 us

cc @jonsequitur

…terfaces

each of them had a single implementation and it was increasing the amount of types required to be JITted
@jonsequitur jonsequitur requested a review from Keboo December 18, 2021 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants