-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Rollup of 8 pull requests #101037
Rollup of 8 pull requests #101037
Conversation
Also add some intra-doc links and more high-level explanation of how `Waker` is used, while I'm here. Context: https://internals.rust-lang.org/t/thread-safety-of-rawwakervtables/17126
Continuation of rust-lang#100938 and rust-lang#101010. This rule was added to support the old, table-based style for displaying enum variants, which are now displayed using headers and paragraphs.
MDN directly recommends this in <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link>, since "CSS is the only stylesheet language used on the web."
BTree: evaluate static type-related check at compile time `assert`s like the ones replaced here would only go off when you run the right test cases, if the code were ever incorrectly changed such that rhey would trigger. But [inspired on a nice forum question](https://users.rust-lang.org/t/compile-time-const-generic-parameter-check/69202), they can be checked at compile time.
Add comments about stdout locking This is the source of some confusion regarding the `println!` macro: * https://llogiq.github.io/2017/06/01/perf-pitfalls.html#unbuffered-io * https://news.ycombinator.com/item?id=18794930 * https://reddit.com/r/rust/comments/5puyx2/why_is_println_so_slow/dcua5g5/ * https://reddit.com/r/rust/comments/ab7hsi/comparing_pythagorean_triples_in_c_d_and_rust/ecy7ql8/ In some of these cases it's not the locking behavior where the bottleneck lies, but it's still mentioned as a surprise when, eg, benchmarking a million `println!`'s in a very tight loop. If there's any stylistic problems please feel free to correct me! This is my first contribution and I want to get it right 🦀
Document that `RawWakerVTable` functions must be thread-safe. Also add some intra-doc links and more high-level explanation of how `Waker` is used, while I'm here. Context: https://internals.rust-lang.org/t/thread-safety-of-rawwakervtables/17126
…m-size, r=notriddle Reduce right-side DOM size This is another follow-up of rust-lang#100429 but not in code blocks this time. So the idea is: if there is only one element in the `.rightside` element, there is no need to wrap it, we can just create one node. On each page, I run this JS: `document.getElementsByTagName('*').length`. Important to note: the bigger the number of elements inside the page, the greater the gain. It also doesn't work very nicely on std docs because there are a lot of version annotations. So with this PR, It allows to get the following results: | file name | before this PR | with this PR | diff | |-|-|-|-| | std/default/trait.Default.html | 2189 | 1331 | 39.2% | | std/vec/struct.Vec.html | 14073 | 13842 | 1.7% | | std/fmt/trait.Debug.html | 5313 | 4907 | 7.7% | | std/ops/trait.Index.html | 642 | 630 | 1.9% | | gtk4/WidgetExt | 3269 | 3061 | 6.4% | You can test it [here](https://rustdoc.crud.net/imperio/reduce-rightsize-dom-size/gtk4/prelude/trait.WidgetExt.html). r? `@notriddle`
…=notriddle Fix doc cfg on reexports Fixes rust-lang#83428. The problem was that the newly inlined item cfg propagation was not working since its real parent is different than its current one. For the implementation, I decided to put it directly into `CfgPropagation` instead of inside `inline.rs` because I thought it would be simpler to maintain and to not forget if new kind of items are added if it's all done in one place. r? `@notriddle`
…, r=jsha rustdoc: remove unused CSS for `.variants_table` Continuation of rust-lang#100938 and rust-lang#101010. This rule was added to support the old, table-based style for displaying enum variants, which are now displayed using headers and paragraphs.
…=Dylan-DPC rustdoc: remove `type="text/css"` from stylesheet links MDN directly recommends this in <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link>, since "CSS is the only stylesheet language used on the web."
… r=bjorn3 Remove unused build dependency There is no more `build.rs` so this dependency is unused. r? `@Dylan-DPC`
@bors r+ rollup=never p=8 |
☀️ Test successful - checks-actions |
📌 Perf builds for each rolled up PR: previous master: 8a13871b69 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Finished benchmarking commit (42fa8ac): comparison URL. Overall result: ❌✅ regressions and improvements - ACTION NEEDEDNext Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Footnotes |
Most likely #101006 since the biggest hit is on libc's doc ? But that looks like a correctness fix anyways. Let's check: @rust-timer build 3765c43334186b1ec37153d443eaa50517ddd4d7 include=-doc |
Queued 3765c43334186b1ec37153d443eaa50517ddd4d7 with parent 8a13871, future comparison URL. |
Finished benchmarking commit (3765c43334186b1ec37153d443eaa50517ddd4d7): comparison URL. Overall result: ❌✅ regressions and improvements - ACTION NEEDEDBenchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Footnotes |
@GuillaumeGomez this indeed looks like it's coming from #101006. Given that is a correctness fix, shall we mark this as triaged and move on? |
yes it's fine and expected. |
@rustbot label: +perf-regression-triaged |
Successful merges:
RawWakerVTable
functions must be thread-safe. #100128 (Document thatRawWakerVTable
functions must be thread-safe.).variants_table
#101012 (rustdoc: remove unused CSS for.variants_table
)type="text/css"
from stylesheet links #101023 (rustdoc: removetype="text/css"
from stylesheet links)Failed merges:
r? @ghost
@rustbot modify labels: rollup
Create a similar rollup