Uh oh!
There was an error while loading. Please reload this page.
Conversation
alexcrichton
commented
Jun 24, 2017
@bors: r+ Thanks! |
bors
commented
Jun 24, 2017
📌 Commit 12205f1 has been approved by |
bors
commented
Jun 24, 2017
⌛ Testing commit 12205f1 with merge 32091e1b39664ecd81d82276c1ce000e8a5c75b2... |
bors
commented
Jun 24, 2017
💔 Test failed - status-travis |
alexcrichton
commented
Jun 24, 2017
Looks like a legitimate failure? |
ghost
commented
Jun 25, 2017
The failure is apparently due to a codegen bug on ARM platforms. I believe simply moving |
alexcrichton
commented
Jun 26, 2017
@stjepang yeah sounds good to me! |
ghost
commented
Jun 26, 2017
All right, let's see if it works this time... |
alexcrichton
commented
Jun 26, 2017
@bors: r+ |
bors
commented
Jun 26, 2017
📌 Commit 723833f has been approved by |
ghost
commented
Jun 26, 2017
The new failures are spurious, it seems... three targets were not tested at all (they're marked with |
kennytm
commented
Jun 26, 2017
@stjepang Don't worry about the |
Mark-Simulacrum
commented
Jun 28, 2017
@bors rollup |
…ches, r=alexcrichton Improve tests and benchmarks for slice::sort and slice::sort_unstable This PR just hardens the tests and improves benchmarks. More specifically: 1. Benchmarks don't generate vectors in `Bencher::iter` loops, but simply clone pregenerated vectors. 2. Benchmark `*_strings` doesn't allocate Strings in `Bencher::iter` loops, but merely clones a `Vec<&str>`. 3. Benchmarks use seeded `XorShiftRng` to be more consistent. 4. Additional tests for `slice::sort` are added, which test sorting on slices with several ascending/descending runs. The implementation identifies such runs so it's a good idea to test that scenario a bit. 5. More checks are added to `run-pass/vector-sort-panic-safe.rs`. Sort algorithms copy elements around a lot (merge sort uses an auxilliary buffer and pdqsort copies the pivot onto the stack before partitioning, then writes it back into the slice). If elements that are being sorted are internally mutable and comparison function mutates them, it is important to make sure that sort algorithms always use the latest "versions" of elements. New checks verify that this is true for both `slice::sort` and `slice::sort_unstable`. As a side note, all of those improvements were made as part of the parallel sorts PR in Rayon (nikomatsakis/rayon#379) and now I'm backporting them into libcore/libstd. r? @alexcrichton
Mark-Simulacrum
commented
Jun 28, 2017
@bors r- This failed the rollup, with I think the same failure. Possibly will be fixed after the LLVM update, not sure. |
ghost
commented
Jun 28, 2017
It will be fixed after the update, yes. |
ghost
commented
Jun 30, 2017
Ok, LLVM has been updated. Should I rebase now? |
alexcrichton
commented
Jun 30, 2017
@bors: r+ Nah should still apply cleanly! |
bors
commented
Jun 30, 2017
📌 Commit 723833f has been approved by |
bors
commented
Jul 1, 2017
…xcrichton Improve tests and benchmarks for slice::sort and slice::sort_unstable This PR just hardens the tests and improves benchmarks. More specifically: 1. Benchmarks don't generate vectors in `Bencher::iter` loops, but simply clone pregenerated vectors. 2. Benchmark `*_strings` doesn't allocate Strings in `Bencher::iter` loops, but merely clones a `Vec<&str>`. 3. Benchmarks use seeded `XorShiftRng` to be more consistent. 4. Additional tests for `slice::sort` are added, which test sorting on slices with several ascending/descending runs. The implementation identifies such runs so it's a good idea to test that scenario a bit. 5. More checks are added to `run-pass/vector-sort-panic-safe.rs`. Sort algorithms copy elements around a lot (merge sort uses an auxilliary buffer and pdqsort copies the pivot onto the stack before partitioning, then writes it back into the slice). If elements that are being sorted are internally mutable and comparison function mutates them, it is important to make sure that sort algorithms always use the latest "versions" of elements. New checks verify that this is true for both `slice::sort` and `slice::sort_unstable`. As a side note, all of those improvements were made as part of the parallel sorts PR in Rayon (nikomatsakis/rayon#379) and now I'm backporting them into libcore/libstd. r? @alexcrichton
bors
commented
Jul 1, 2017
☀️ Test successful - status-appveyor, status-travis |
This PR just hardens the tests and improves benchmarks.
More specifically:
Bencher::iterloops, but simply clone pregenerated vectors.*_stringsdoesn't allocate Strings inBencher::iterloops, but merely clones aVec<&str>.XorShiftRngto be more consistent.slice::sortare added, which test sorting on slices with several ascending/descending runs. The implementation identifies such runs so it's a good idea to test that scenario a bit.run-pass/vector-sort-panic-safe.rs. Sort algorithms copy elements around a lot (merge sort uses an auxilliary buffer and pdqsort copies the pivot onto the stack before partitioning, then writes it back into the slice). If elements that are being sorted are internally mutable and comparison function mutates them, it is important to make sure that sort algorithms always use the latest "versions" of elements. New checks verify that this is true for bothslice::sortandslice::sort_unstable.As a side note, all of those improvements were made as part of the parallel sorts PR in Rayon (nikomatsakis/rayon#379) and now I'm backporting them into libcore/libstd.
r? @alexcrichton