-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Update wording for AggressiveOptimizations #5355
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -135,7 +135,9 @@ | |
</ReturnValue> | ||
<MemberValue>512</MemberValue> | ||
<Docs> | ||
<summary>The method contains a hot path and should be optimized.</summary> | ||
<summary>The method should skip tiered-compilation and immediately reach tier0. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Just pasting that tag from the C# server if you want to inteegrate some of it in the remarks section 😄
|
||
This can be beneficial for certain hot-path code which does not rely on any static state or any optimisations applied at re-jit time. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Which optimizations, which paths are "certain"? As a someone who is looking to optimize my code and not sure whether I should use this attribute or not, I am afraid this is too little detail, at the same time, I do not know how to better word this... I think the general guidance of: "this method is known to be hot, does not rely on state that is known only after is has been executed, and is on a startup path" is OK'ish? At the same time, no Tier0 means no profile data and no PGO, so in a sense, all methods should benefit, except if they are hand-optimized with |
||
This attribute will not result in faster or better optimised code and is designed for use in very specific benchmark-lead scenarios.</summary> | ||
</Docs> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This describes what this attribute does in the current coreclr runtime. I expect that the details will change a lot over time. We typically refrain from documenting implementation details like this since it makes the documentation constantly outdated.
All methods are optimized. I would change the description to "The method contains a very critical hot path and should be optimized with highest optimization level possible.". But I think we should avoid describing the current implementation details of coreclr runtime. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agree with Jan. I also wouldn't connect it to benchmarking. |
||
</Member> | ||
<Member MemberName="ForwardRef"> | ||
|
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Presumably, Tier1. However, I do not think this terminology is used anywhere in the public-facing documentation.
I would suggest just dropping the " and immediately reach tier0" part.