-
Notifications
You must be signed in to change notification settings - Fork 12.5k
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 #71933
Rollup of 8 pull requests #71933
Commits on Apr 24, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 8f5c66c - Browse repository at this point
Copy the full SHA 8f5c66cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8730227 - Browse repository at this point
Copy the full SHA 8730227View commit details
Commits on Apr 26, 2020
-
use new interface to create threads on HermitCore
- the new interface allows to define the stack size
Configuration menu - View commit details
-
Copy full SHA for 4d3cf5b - Browse repository at this point
Copy the full SHA 4d3cf5bView commit details
Commits on Apr 27, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 2c43746 - Browse repository at this point
Copy the full SHA 2c43746View commit details
Commits on May 2, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 19e5da9 - Browse repository at this point
Copy the full SHA 19e5da9View commit details
Commits on May 3, 2020
-
x.py: Give a more helpful error message if curl isn't installed
This also abstracts checking for a command into `require`. Before: ``` Updating only changed submodules Submodules updated in 0.01 seconds Traceback (most recent call last): File "./x.py", line 11, in <module> bootstrap.main() ... File "/home/joshua/src/rust/src/bootstrap/bootstrap.py", line 137, in run ret = subprocess.Popen(args, **kwargs) File "/usr/lib/python2.7/subprocess.py", line 394, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory ``` After: ``` error: unable to run `curl --version`: [Errno 2] No such file or directory Please make sure it's installed and in the path. ```
Configuration menu - View commit details
-
Copy full SHA for 9bcf409 - Browse repository at this point
Copy the full SHA 9bcf409View commit details -
Define UB in float-to-int casts to saturate
- Round to zero, and representable values cast directly. - `NaN` goes to 0 - Values beyond the limits of the type are saturated to the "nearest value" (essentially rounding to zero, in some sense) in the integral type, so e.g. `f32::INFINITY` would go to `{u,i}N::MAX.`
Configuration menu - View commit details
-
Copy full SHA for 810c1b4 - Browse repository at this point
Copy the full SHA 810c1b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a759f9 - Browse repository at this point
Copy the full SHA 5a759f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2528fa3 - Browse repository at this point
Copy the full SHA 2528fa3View commit details -
Configuration menu - View commit details
-
Copy full SHA for d65d179 - Browse repository at this point
Copy the full SHA d65d179View commit details
Commits on May 4, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 61fdd3e - Browse repository at this point
Copy the full SHA 61fdd3eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 40a6b8c - Browse repository at this point
Copy the full SHA 40a6b8cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f50292 - Browse repository at this point
Copy the full SHA 3f50292View commit details -
Configuration menu - View commit details
-
Copy full SHA for b83853d - Browse repository at this point
Copy the full SHA b83853dView commit details
Commits on May 5, 2020
-
Configuration menu - View commit details
-
Copy full SHA for f9866f9 - Browse repository at this point
Copy the full SHA f9866f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3857506 - Browse repository at this point
Copy the full SHA 3857506View commit details -
Rollup merge of rust-lang#71269 - Mark-Simulacrum:sat-float-casts, r=…
…nikic Define UB in float-to-int casts to saturate This closes rust-lang#10184 by defining the behavior there to saturate infinities and values exceeding the integral range (on the lower or upper end). `NaN` is sent to zero.
Configuration menu - View commit details
-
Copy full SHA for e2911f9 - Browse repository at this point
Copy the full SHA e2911f9View commit details -
Rollup merge of rust-lang#71510 - ssomers:btreemap_iter_intertwined, …
…r=Mark-Simulacrum Btreemap iter intertwined 3 commits: 1. Introduced benchmarks for `BTreeMap::iter()`. Benchmarks named `iter_20` were of the whole iteration process, so I renamed them. Also the benchmarks of `range` that I wrote earlier weren't very good. I included an (awkwardly named) one that compares `iter()` to `range(..)` on the same set, because the contrast is surprising: ``` name ns/iter btree::map::range_unbounded_unbounded 28,176 btree::map::range_unbounded_vs_iter 89,369 ``` Both dig up the same pair of leaf edges. `range(..)` also checks that some keys are correctly ordered, the only thing `iter()` does more is to copy the map's length. 2. Slightly refactoring the code to what I find more readable (not in chronological order of discovery), boosts performance: ``` >cargo-benchcmp.exe benchcmp a1 a2 --threshold 5 name a1 ns/iter a2 ns/iter diff ns/iter diff % speedup btree::map::find_rand_100 18 17 -1 -5.56% x 1.06 btree::map::first_and_last_10k 64 71 7 10.94% x 0.90 btree::map::iter_0 2,939 2,209 -730 -24.84% x 1.33 btree::map::iter_1 6,845 2,696 -4,149 -60.61% x 2.54 btree::map::iter_100 8,556 3,672 -4,884 -57.08% x 2.33 btree::map::iter_10k 9,292 5,884 -3,408 -36.68% x 1.58 btree::map::iter_1m 10,268 6,510 -3,758 -36.60% x 1.58 btree::map::iteration_mut_100000 478,575 453,050 -25,525 -5.33% x 1.06 btree::map::range_unbounded_unbounded 28,176 36,169 7,993 28.37% x 0.78 btree::map::range_unbounded_vs_iter 89,369 38,290 -51,079 -57.16% x 2.33 btree::set::clone_100_and_remove_all 4,801 4,245 -556 -11.58% x 1.13 btree::set::clone_10k_and_remove_all 529,450 496,030 -33,420 -6.31% x 1.07 ``` But you can tell from the `range_unbounded_*` lines that, despite an unwarranted, vengeful attack on the range_unbounded_unbounded benchmark, this change still doesn't allow `iter()` to catch up with `range(..)`. 3. I guess that `range(..)` copes so well because it intertwines the leftmost and rightmost descend towards leaf edges, doing the two root node accesses close together, perhaps exploiting a CPU's internal pipelining? So the third commit distils a version of `range_search` (which we can't use directly because of the `Ord` bound), and we get another boost: ``` cargo-benchcmp.exe benchcmp a2 a3 --threshold 5 name a2 ns/iter a3 ns/iter diff ns/iter diff % speedup btree::map::first_and_last_100 40 43 3 7.50% x 0.93 btree::map::first_and_last_10k 71 64 -7 -9.86% x 1.11 btree::map::iter_0 2,209 1,719 -490 -22.18% x 1.29 btree::map::iter_1 2,696 2,205 -491 -18.21% x 1.22 btree::map::iter_100 3,672 2,943 -729 -19.85% x 1.25 btree::map::iter_10k 5,884 3,929 -1,955 -33.23% x 1.50 btree::map::iter_1m 6,510 5,532 -978 -15.02% x 1.18 btree::map::iteration_mut_100000 453,050 476,667 23,617 5.21% x 0.95 btree::map::range_included_excluded 405,075 371,297 -33,778 -8.34% x 1.09 btree::map::range_included_included 427,577 397,440 -30,137 -7.05% x 1.08 btree::map::range_unbounded_unbounded 36,169 28,175 -7,994 -22.10% x 1.28 btree::map::range_unbounded_vs_iter 38,290 30,838 -7,452 -19.46% x 1.24 ``` But I think this is just fake news from the microbenchmarking media. `iter()` is still trying to catch up with `range(..)`. And we can sure do without another function. So I would skip this 3rd commit. r? @Mark-Simulacrum
Configuration menu - View commit details
-
Copy full SHA for 9feb47b - Browse repository at this point
Copy the full SHA 9feb47bView commit details -
Rollup merge of rust-lang#71591 - hermitcore:thread_create, r=hanna-k…
…ruppe use new interface to create threads on HermitCore - the new interface allows to define the stack size - increase the default stack size to 1 MByte
Configuration menu - View commit details
-
Copy full SHA for ae77058 - Browse repository at this point
Copy the full SHA ae77058View commit details -
Rollup merge of rust-lang#71727 - hbina:simplified_usage, r=Mark-Simu…
…lacrum SipHasher with keys initialized to 0 should just use new() I believe that is what the `new()` is for, for good reasons.
Configuration menu - View commit details
-
Copy full SHA for 5bd0e21 - Browse repository at this point
Copy the full SHA 5bd0e21View commit details -
Rollup merge of rust-lang#71819 - jyn514:check-for-tools, r=Mark-Simu…
…lacrum x.py: Give a more helpful error message if curl isn't installed Before: ``` Updating only changed submodules Submodules updated in 0.01 seconds Traceback (most recent call last): File "./x.py", line 11, in <module> bootstrap.main() ... File "/home/joshua/src/rust/src/bootstrap/bootstrap.py", line 137, in run ret = subprocess.Popen(args, **kwargs) File "/usr/lib/python2.7/subprocess.py", line 394, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory ``` After: ``` Updating only changed submodules Submodules updated in 0.01 seconds spurious failure, trying again spurious failure, trying again spurious failure, trying again spurious failure, trying again failed to run: curl -s -y 30 -Y 10 --connect-timeout 30 --retry 3 -Sf -o /tmp/tmpSWF21P.sha256 https://static.rust-lang.org/dist/2020-04-22/rust-std-beta-x86_64-unknown-linux-gnu.tar.gz.sha256: [Errno 2] No such file or directory Build completed unsuccessfully in 0:00:00 ```
Configuration menu - View commit details
-
Copy full SHA for 7b75c0e - Browse repository at this point
Copy the full SHA 7b75c0eView commit details -
Rollup merge of rust-lang#71889 - RalfJung:rwlock, r=Amanieu
Explain our RwLock implementation Turns out that [with the latest POSIX docs](https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_wrlock.html), our `RwLock` implementation is actually correct. However, we cannot fully rely on that due to bugs in older glibc (fix released in 2016). Update the comments to explain that. I also clarified our Mutex docs a bit and fixed another instance of rust-lang#55865. r? @Amanieu Fixes rust-lang#53127
Configuration menu - View commit details
-
Copy full SHA for 2fcdbb6 - Browse repository at this point
Copy the full SHA 2fcdbb6View commit details -
Rollup merge of rust-lang#71905 - mibac138:x-cmd-alias, r=Mark-Simula…
…crum Add command aliases from Cargo to x.py commands Fixes rust-lang#71357
Configuration menu - View commit details
-
Copy full SHA for 3b3857d - Browse repository at this point
Copy the full SHA 3b3857dView commit details -
Rollup merge of rust-lang#71914 - pietroalbini:relnotes-1.43.1, r=Mar…
…k-Simulacrum Backport 1.43.1 release notes to master r? @Mark-Simulacrum
Configuration menu - View commit details
-
Copy full SHA for 382faf9 - Browse repository at this point
Copy the full SHA 382faf9View commit details