-
Notifications
You must be signed in to change notification settings - Fork 5.3k
[NativeAOT] Avoid redundant unwind info lookup during stackwalks #87419
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
Conversation
Unwind info was looked up twice on non-Windows: Once during initial frame inspection and second during the actual unwind. Cache the lookup results from the initial frame inspection and use them from the actual unwind later, same as it is done on Windows.
|
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas Issue DetailsUnwind info was looked up twice on non-Windows: Once during initial frame inspection and second during the actual unwind. Cache the lookup results from the initial frame inspection and use them from the actual unwind later, same as it is done on Windows.
|
|
Todo API w/ Workstation GC: Before this change: | Requests/sec | 72,812 | With this change: | Requests/sec | 76,727 | |
|
This is follow up on #86690 (comment) . I have more changes on top this one to make stack unwinding faster on Unix. |
|
Related: #75807 |
|
/azp run runtime-extra-platforms |
|
Azure Pipelines successfully started running 1 pipeline(s). |
I think the code makes assumption that fetching this info is a relatively cheap operation - like indexing in a table, but it is more complex than that. And there is space in the MethodInfo to keep the info. Nice change! |
VSadov
left a comment
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.
LGTM! Thanks!
Unwind info was looked up twice on non-Windows: Once during initial frame inspection and second during the actual unwind. Cache the lookup results from the initial frame inspection and use them from the actual unwind later, same as it is done on Windows.