-
Notifications
You must be signed in to change notification settings - Fork 515
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 section about building an optimized version of rustc
#1787
Conversation
ce6a2c8
to
e9a6648
Compare
e9a6648
to
ee5f40e
Compare
CC @cuviper, as you're the only distro maintainer I know 😆 Would something like this be useful to you, in order to build optimized |
8280885
to
3100620
Compare
Some of this I already knew, but I'm not applying all these techniques yet. It's good to have it written down, in any case! |
Update books ## rust-lang/edition-guide 1 commits in 2751bdcef125468ea2ee006c11992cd1405aebe5..34fca48ed284525b2f124bf93c51af36d6685492 2023-09-06 20:34:00 UTC to 2023-09-06 20:34:00 UTC - Update Rust 2018 "Path and module system changes" for Rust 1.72 (rust-lang/edition-guide#285) ## rust-lang/nomicon 2 commits in 388750b081c0893c275044d37203f97709e058ba..e3f3af69dce71cd37a785bccb7e58449197d940c 2023-09-11 15:57:05 UTC to 2023-09-11 15:55:35 UTC - specify which integer overflows we mean (rust-lang/nomicon#419) - remove 'fail to call destructors' from okay-list (rust-lang/nomicon#420) ## rust-lang/reference 4 commits in d43038932adeb16ada80e206d4c073d851298101..ee7c676fd6e287459cb407337652412c990686c0 2023-09-09 20:08:06 UTC to 2023-08-16 16:59:33 UTC - Specify bit validity and padding of some types (rust-lang/reference#1392) - implementations.md typo fix (rust-lang/reference#1399) - Update section on default layout for `repr(Rust)` (rust-lang/reference#1396) - conditional-compilation.md: Mention the "none" target_os value (rust-lang/reference#1395) ## rust-lang/rust-by-example 4 commits in 07e0df2f006e59d171c6bf3cafa9d61dbeb520d8..c954202c1e1720cba5628f99543cc01188c7d6fc 2023-08-22 18:49:29 UTC to 2023-08-22 18:46:56 UTC - Improve transparency of 5_i32 versus 5i32 (rust-lang/rust-by-example#1707) - Removed redundant comma (rust-lang/rust-by-example#1735) - Fixed link to Functions (rust-lang/rust-by-example#1734) - Pedantic `'static` lifetime corrections (rust-lang/rust-by-example#1732) ## rust-lang/rustc-dev-guide 25 commits in b123ab4754127d822ffb38349ce0fbf561f1b2fd..08bb147d51e815b96e8db7ba4cf870f201c11ff8 2023-09-11 10:36:36 UTC to 2023-08-18 21:13:31 UTC - make link more pleasant to eye too (rust-lang/rustc-dev-guide#1778) - The current playground link used in the page of MIR shows a optimized… (rust-lang/rustc-dev-guide#1789) - Add section about building an optimized version of `rustc` (rust-lang/rustc-dev-guide#1787) - Set max line length in `.editorconfig` to 100 (rust-lang/rustc-dev-guide#1788) - Update minor how-to-build-and-run.md spelling mistake (rust-lang/rustc-dev-guide#1785) - add sections in 'using git' (rust-lang#1675) (rust-lang/rustc-dev-guide#1784) - link std-dev-guide from landing page (rust-lang#1699) (rust-lang/rustc-dev-guide#1783) - Reword sentence about using `./x` over `./x.py` (rust-lang/rustc-dev-guide#1782) - remove (excessive) indentation (rust-lang/rustc-dev-guide#1781) - coverage tests have moved, twice (rust-lang/rustc-dev-guide#1780) - remove extraneous word (rust-lang/rustc-dev-guide#1779) - llvm updates (rust-lang/rustc-dev-guide#1761) - make link more pleasant to eye (rust-lang/rustc-dev-guide#1777) - date-check: test suites/classes using "revisions" (rust-lang/rustc-dev-guide#1738) - share link target (rust-lang/rustc-dev-guide#1740) - indicate full hierarchy of config option (rust-lang/rustc-dev-guide#1776) - remove stray word (rust-lang/rustc-dev-guide#1773) - it is lower-case (rust-lang/rustc-dev-guide#1772) - Suggest enabling patch-binaries-for-nix in `shell.nix` (rust-lang/rustc-dev-guide#1774) - Add additional licensing concerns to docs (rust-lang/rustc-dev-guide#1775) - Fix broken MD link format (rust-lang/rustc-dev-guide#1771) - update internal terminology: Substs -> GenericArgs (rust-lang/rustc-dev-guide#1769) - Update suggested.md : missing word (rust-lang/rustc-dev-guide#1770) - Update outdated doc for types (rust-lang/rustc-dev-guide#1768) - Add dropck documentation (rust-lang/rustc-dev-guide#1767)
Rollup merge of rust-lang#115761 - rustbot:docs-update, r=ehuss Update books ## rust-lang/edition-guide 1 commits in 2751bdcef125468ea2ee006c11992cd1405aebe5..34fca48ed284525b2f124bf93c51af36d6685492 2023-09-06 20:34:00 UTC to 2023-09-06 20:34:00 UTC - Update Rust 2018 "Path and module system changes" for Rust 1.72 (rust-lang/edition-guide#285) ## rust-lang/nomicon 2 commits in 388750b081c0893c275044d37203f97709e058ba..e3f3af69dce71cd37a785bccb7e58449197d940c 2023-09-11 15:57:05 UTC to 2023-09-11 15:55:35 UTC - specify which integer overflows we mean (rust-lang/nomicon#419) - remove 'fail to call destructors' from okay-list (rust-lang/nomicon#420) ## rust-lang/reference 4 commits in d43038932adeb16ada80e206d4c073d851298101..ee7c676fd6e287459cb407337652412c990686c0 2023-09-09 20:08:06 UTC to 2023-08-16 16:59:33 UTC - Specify bit validity and padding of some types (rust-lang/reference#1392) - implementations.md typo fix (rust-lang/reference#1399) - Update section on default layout for `repr(Rust)` (rust-lang/reference#1396) - conditional-compilation.md: Mention the "none" target_os value (rust-lang/reference#1395) ## rust-lang/rust-by-example 4 commits in 07e0df2f006e59d171c6bf3cafa9d61dbeb520d8..c954202c1e1720cba5628f99543cc01188c7d6fc 2023-08-22 18:49:29 UTC to 2023-08-22 18:46:56 UTC - Improve transparency of 5_i32 versus 5i32 (rust-lang/rust-by-example#1707) - Removed redundant comma (rust-lang/rust-by-example#1735) - Fixed link to Functions (rust-lang/rust-by-example#1734) - Pedantic `'static` lifetime corrections (rust-lang/rust-by-example#1732) ## rust-lang/rustc-dev-guide 25 commits in b123ab4754127d822ffb38349ce0fbf561f1b2fd..08bb147d51e815b96e8db7ba4cf870f201c11ff8 2023-09-11 10:36:36 UTC to 2023-08-18 21:13:31 UTC - make link more pleasant to eye too (rust-lang/rustc-dev-guide#1778) - The current playground link used in the page of MIR shows a optimized… (rust-lang/rustc-dev-guide#1789) - Add section about building an optimized version of `rustc` (rust-lang/rustc-dev-guide#1787) - Set max line length in `.editorconfig` to 100 (rust-lang/rustc-dev-guide#1788) - Update minor how-to-build-and-run.md spelling mistake (rust-lang/rustc-dev-guide#1785) - add sections in 'using git' (rust-lang#1675) (rust-lang/rustc-dev-guide#1784) - link std-dev-guide from landing page (rust-lang#1699) (rust-lang/rustc-dev-guide#1783) - Reword sentence about using `./x` over `./x.py` (rust-lang/rustc-dev-guide#1782) - remove (excessive) indentation (rust-lang/rustc-dev-guide#1781) - coverage tests have moved, twice (rust-lang/rustc-dev-guide#1780) - remove extraneous word (rust-lang/rustc-dev-guide#1779) - llvm updates (rust-lang/rustc-dev-guide#1761) - make link more pleasant to eye (rust-lang/rustc-dev-guide#1777) - date-check: test suites/classes using "revisions" (rust-lang/rustc-dev-guide#1738) - share link target (rust-lang/rustc-dev-guide#1740) - indicate full hierarchy of config option (rust-lang/rustc-dev-guide#1776) - remove stray word (rust-lang/rustc-dev-guide#1773) - it is lower-case (rust-lang/rustc-dev-guide#1772) - Suggest enabling patch-binaries-for-nix in `shell.nix` (rust-lang/rustc-dev-guide#1774) - Add additional licensing concerns to docs (rust-lang/rustc-dev-guide#1775) - Fix broken MD link format (rust-lang/rustc-dev-guide#1771) - update internal terminology: Substs -> GenericArgs (rust-lang/rustc-dev-guide#1769) - Update suggested.md : missing word (rust-lang/rustc-dev-guide#1770) - Update outdated doc for types (rust-lang/rustc-dev-guide#1768) - Add dropck documentation (rust-lang/rustc-dev-guide#1767)
Update books ## rust-lang/edition-guide 1 commits in 2751bdcef125468ea2ee006c11992cd1405aebe5..34fca48ed284525b2f124bf93c51af36d6685492 2023-09-06 20:34:00 UTC to 2023-09-06 20:34:00 UTC - Update Rust 2018 "Path and module system changes" for Rust 1.72 (rust-lang/edition-guide#285) ## rust-lang/nomicon 2 commits in 388750b081c0893c275044d37203f97709e058ba..e3f3af69dce71cd37a785bccb7e58449197d940c 2023-09-11 15:57:05 UTC to 2023-09-11 15:55:35 UTC - specify which integer overflows we mean (rust-lang/nomicon#419) - remove 'fail to call destructors' from okay-list (rust-lang/nomicon#420) ## rust-lang/reference 4 commits in d43038932adeb16ada80e206d4c073d851298101..ee7c676fd6e287459cb407337652412c990686c0 2023-09-09 20:08:06 UTC to 2023-08-16 16:59:33 UTC - Specify bit validity and padding of some types (rust-lang/reference#1392) - implementations.md typo fix (rust-lang/reference#1399) - Update section on default layout for `repr(Rust)` (rust-lang/reference#1396) - conditional-compilation.md: Mention the "none" target_os value (rust-lang/reference#1395) ## rust-lang/rust-by-example 4 commits in 07e0df2f006e59d171c6bf3cafa9d61dbeb520d8..c954202c1e1720cba5628f99543cc01188c7d6fc 2023-08-22 18:49:29 UTC to 2023-08-22 18:46:56 UTC - Improve transparency of 5_i32 versus 5i32 (rust-lang/rust-by-example#1707) - Removed redundant comma (rust-lang/rust-by-example#1735) - Fixed link to Functions (rust-lang/rust-by-example#1734) - Pedantic `'static` lifetime corrections (rust-lang/rust-by-example#1732) ## rust-lang/rustc-dev-guide 25 commits in b123ab4754127d822ffb38349ce0fbf561f1b2fd..08bb147d51e815b96e8db7ba4cf870f201c11ff8 2023-09-11 10:36:36 UTC to 2023-08-18 21:13:31 UTC - make link more pleasant to eye too (rust-lang/rustc-dev-guide#1778) - The current playground link used in the page of MIR shows a optimized… (rust-lang/rustc-dev-guide#1789) - Add section about building an optimized version of `rustc` (rust-lang/rustc-dev-guide#1787) - Set max line length in `.editorconfig` to 100 (rust-lang/rustc-dev-guide#1788) - Update minor how-to-build-and-run.md spelling mistake (rust-lang/rustc-dev-guide#1785) - add sections in 'using git' (#1675) (rust-lang/rustc-dev-guide#1784) - link std-dev-guide from landing page (#1699) (rust-lang/rustc-dev-guide#1783) - Reword sentence about using `./x` over `./x.py` (rust-lang/rustc-dev-guide#1782) - remove (excessive) indentation (rust-lang/rustc-dev-guide#1781) - coverage tests have moved, twice (rust-lang/rustc-dev-guide#1780) - remove extraneous word (rust-lang/rustc-dev-guide#1779) - llvm updates (rust-lang/rustc-dev-guide#1761) - make link more pleasant to eye (rust-lang/rustc-dev-guide#1777) - date-check: test suites/classes using "revisions" (rust-lang/rustc-dev-guide#1738) - share link target (rust-lang/rustc-dev-guide#1740) - indicate full hierarchy of config option (rust-lang/rustc-dev-guide#1776) - remove stray word (rust-lang/rustc-dev-guide#1773) - it is lower-case (rust-lang/rustc-dev-guide#1772) - Suggest enabling patch-binaries-for-nix in `shell.nix` (rust-lang/rustc-dev-guide#1774) - Add additional licensing concerns to docs (rust-lang/rustc-dev-guide#1775) - Fix broken MD link format (rust-lang/rustc-dev-guide#1771) - update internal terminology: Substs -> GenericArgs (rust-lang/rustc-dev-guide#1769) - Update suggested.md : missing word (rust-lang/rustc-dev-guide#1770) - Update outdated doc for types (rust-lang/rustc-dev-guide#1768) - Add dropck documentation (rust-lang/rustc-dev-guide#1767)
This PR adds a new section to the dev guide, which describes how can one build as optimized version of
rustc
as possible. A possible use-case is for building an optimized version ofrustc
for a Linux distribution.Related issue: rust-lang/rust#115251