Skip to content
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

Add article on using WPA to profile rustc memory usage on Windows #1074

Merged
merged 1 commit into from
Mar 8, 2021

Conversation

wesleywiser
Copy link
Member

Add documentation that @rylev and I created as part of the memshrink sprint.

@wesleywiser
Copy link
Member Author

Any feedback is very appreciated! 🙂


Now that our ETL file is open in WPA, we can analyze the results. First, we'll want to apply the
pre-made "profile" which will put WPA into a state conducive to analyzing rustc bootstrap. Download
the profile [here](https://github.com/wesleywiser/rustc-bootstrap-wpa-analysis/releases/download/1/rustc.generic.wpaProfile).
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be better to host this file in this repo? It's 300kb of xml.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mhh, if that file may need updating in the future, it'll probably easier to keep it in one place. Having a link is fine IMO.

Copy link
Contributor

@LeSeulArtichaut LeSeulArtichaut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Left a few nits

src/profiling.md Outdated Show resolved Hide resolved
src/profiling/wpa_profiling.md Outdated Show resolved Hide resolved
Copy link
Member

@JohnTitor JohnTitor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for writing! Just left some style fix suggestions (trailing whitespace, typos, etc.).

src/profiling/wpa_profiling.md Outdated Show resolved Hide resolved
src/profiling/wpa_profiling.md Outdated Show resolved Hide resolved
src/profiling/wpa_profiling.md Outdated Show resolved Hide resolved
src/profiling/wpa_profiling.md Outdated Show resolved Hide resolved
src/profiling/wpa_profiling.md Outdated Show resolved Hide resolved
src/profiling.md Outdated Show resolved Hide resolved
src/profiling/wpa_profiling.md Outdated Show resolved Hide resolved
src/profiling/wpa_profiling.md Outdated Show resolved Hide resolved
src/profiling/wpa_profiling.md Outdated Show resolved Hide resolved
src/profiling/wpa_profiling.md Outdated Show resolved Hide resolved
Document how to use WPA to profile rustc and what the normal workflow
should be for investigating bootstrap memory usage issues.

Co-authored-by: Ryan Levick <ryan.levick@gmail.com>
@wesleywiser
Copy link
Member Author

Thanks @LeSeulArtichaut and @JohnTitor! I've resolved all the feedback posted.

Copy link
Member

@JohnTitor JohnTitor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@JohnTitor JohnTitor merged commit 91f8f33 into rust-lang:master Mar 8, 2021
@wesleywiser wesleywiser deleted the wpa branch March 8, 2021 20:39
Dylan-DPC-zz pushed a commit to Dylan-DPC-zz/rust that referenced this pull request Mar 17, 2021
Update books

## nomicon

1 commits in adca786547d08fe676b2fc7a6f08c2ed5280ca38..6fe476943afd53a9a6e91f38a6ea7bb48811d8ff
2021-02-16 16:34:20 +0900 to 2021-03-10 07:28:57 +0900
- Merge pull request rust-lang/nomicon#257 from skade/opaque-types-fix

## reference

3 commits in 3b6fe80c205d2a2b5dc8a276192bbce9eeb9e9cf..e32a2f928f8b78d534bca2b9e7736413314dc556
2021-02-22 22:09:17 -0800 to 2021-03-08 23:24:30 -0800
- Clarify that ::foo paths are not necessarily based off of the "crate root" (rust-lang/reference#974)
- Comment typo (rust-lang/reference#977)
- Fix misspelled word discrimnant (rust-lang/reference#976)

## book

2 commits in 0f87daf683ae3de3cb725faecb11b7e7e89f0e5a..fc2f690fc16592abbead2360cfc0a42f5df78052
2021-03-01 08:54:04 -0500 to 2021-03-05 14:03:22 -0500
- Fix wrapping
- fix: redundant double introduction of shadowing (rust-lang/book#2633)

## rust-by-example

1 commits in 3e0d98790c9126517fa1c604dc3678f396e92a27..eead22c6c030fa4f3a167d1798658c341199e2ae
2021-02-25 08:23:10 -0300 to 2021-03-04 16:26:43 -0300
- Fix grammar "terminates" -&gt; "terminate" (rust-lang/rust-by-example#1423)

## rustc-dev-guide

15 commits in c431f8c29a41413dddcb3bfa0d71c9cabe366317..67ebd4b55dba44edfc351621cef6e5e758169c55
2021-02-28 16:35:20 -0500 to 2021-03-11 13:36:25 -0800
- Remove extra the (rust-lang/rustc-dev-guide#1088)
- Fix double-word typos (rust-lang/rustc-dev-guide#1084)
- I-nominated are nominated for discussion (rust-lang/rustc-dev-guide#1080)
- Complete unfinished statement
- Check `BASE_SHA` only if it's a PR (rust-lang/rustc-dev-guide#1083)
- Update lins
- Apply suggestions from code review
- Add stub about the THIR
- Switch from Travis to GHA (rust-lang/rustc-dev-guide#1073)
- Adjust a bit better P- label text
- Fix typos (rust-lang/rustc-dev-guide#1079)
- Update cmake version in prerequisites.md (rust-lang/rustc-dev-guide#1077)
- Fix typo: suceed -&gt; succeed
- Add article on using WPA to profile rustc memory usage on Windows (rust-lang/rustc-dev-guide#1074)
- Use more accurate estimate of generated LLVM IR with llvm-lines

## embedded-book

1 commits in a96d096cffe5fa2c84af1b4b61e1492f839bb2e1..f61685755fad7d3b88b4645adfbf461d500563a2
2021-02-17 08:08:52 +0000 to 2021-03-08 01:06:44 +0000
- Swap to GHA  (rust-embedded/book#285)
JohnTitor added a commit to JohnTitor/rust that referenced this pull request Mar 17, 2021
Update books

## nomicon

1 commits in adca786547d08fe676b2fc7a6f08c2ed5280ca38..6fe476943afd53a9a6e91f38a6ea7bb48811d8ff
2021-02-16 16:34:20 +0900 to 2021-03-10 07:28:57 +0900
- Merge pull request rust-lang/nomicon#257 from skade/opaque-types-fix

## reference

3 commits in 3b6fe80c205d2a2b5dc8a276192bbce9eeb9e9cf..e32a2f928f8b78d534bca2b9e7736413314dc556
2021-02-22 22:09:17 -0800 to 2021-03-08 23:24:30 -0800
- Clarify that ::foo paths are not necessarily based off of the "crate root" (rust-lang/reference#974)
- Comment typo (rust-lang/reference#977)
- Fix misspelled word discrimnant (rust-lang/reference#976)

## book

2 commits in 0f87daf683ae3de3cb725faecb11b7e7e89f0e5a..fc2f690fc16592abbead2360cfc0a42f5df78052
2021-03-01 08:54:04 -0500 to 2021-03-05 14:03:22 -0500
- Fix wrapping
- fix: redundant double introduction of shadowing (rust-lang/book#2633)

## rust-by-example

1 commits in 3e0d98790c9126517fa1c604dc3678f396e92a27..eead22c6c030fa4f3a167d1798658c341199e2ae
2021-02-25 08:23:10 -0300 to 2021-03-04 16:26:43 -0300
- Fix grammar "terminates" -&gt; "terminate" (rust-lang/rust-by-example#1423)

## rustc-dev-guide

15 commits in c431f8c29a41413dddcb3bfa0d71c9cabe366317..67ebd4b55dba44edfc351621cef6e5e758169c55
2021-02-28 16:35:20 -0500 to 2021-03-11 13:36:25 -0800
- Remove extra the (rust-lang/rustc-dev-guide#1088)
- Fix double-word typos (rust-lang/rustc-dev-guide#1084)
- I-nominated are nominated for discussion (rust-lang/rustc-dev-guide#1080)
- Complete unfinished statement
- Check `BASE_SHA` only if it's a PR (rust-lang/rustc-dev-guide#1083)
- Update lins
- Apply suggestions from code review
- Add stub about the THIR
- Switch from Travis to GHA (rust-lang/rustc-dev-guide#1073)
- Adjust a bit better P- label text
- Fix typos (rust-lang/rustc-dev-guide#1079)
- Update cmake version in prerequisites.md (rust-lang/rustc-dev-guide#1077)
- Fix typo: suceed -&gt; succeed
- Add article on using WPA to profile rustc memory usage on Windows (rust-lang/rustc-dev-guide#1074)
- Use more accurate estimate of generated LLVM IR with llvm-lines

## embedded-book

1 commits in a96d096cffe5fa2c84af1b4b61e1492f839bb2e1..f61685755fad7d3b88b4645adfbf461d500563a2
2021-02-17 08:08:52 +0000 to 2021-03-08 01:06:44 +0000
- Swap to GHA  (rust-embedded/book#285)
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.

3 participants