Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Conversation

@jkotas
Copy link
Member

@jkotas jkotas commented Apr 10, 2018

This fixes regression introduced in #17237.

@danmoseley
Copy link
Member

Can you explain the fix?

@jkotas
Copy link
Member Author

jkotas commented Apr 10, 2018

Many layers of different overloads combined with fast and slow paths makes this code pretty sensitive. I hope we will get a chance to simplify this in future (#16434 has some good changes that are going in the right direction, I think).

@jkotas
Copy link
Member Author

jkotas commented Apr 10, 2018

Can you explain the fix?

Before this change, the two argument method on the rare path got inlined and made the prolog of this method larger and in turn regressed the method for the case of two identical strings. After this change, the six argument method on the rare path is not getting inlined and so it maintains the performance characteristics that it used to have.

(The change is a one liner revert of changes made in #17237.)

@jkotas jkotas merged commit 31bd5a4 into dotnet:master Apr 10, 2018
@jkotas jkotas deleted the fix-perf-regression branch April 11, 2018 22:48
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants