diff options
| author | Steve Klabnik <steve@steveklabnik.com> | 2015-11-10 10:51:47 -0500 |
|---|---|---|
| committer | Steve Klabnik <steve@steveklabnik.com> | 2015-11-10 10:51:47 -0500 |
| commit | 0d04a515170e22d01720df332817649c4470fd3e (patch) | |
| tree | f3e1445eac81b6824fad5a8dd898f4eb980b5dd9 | |
| parent | fb2ae896bb1d6ec1af7ad82ec834d25cb55eda16 (diff) | |
| parent | e3433e3b519dfaddedd5f18a514604a779799da3 (diff) | |
Rollup merge of #29688 - stepancheg:vec-outdated, r=nikomatsakis
Since commit 46068c9da, call to `reserve()` on empty vec allocates exactly requested capacity, so unroll of first iteration may help only with branch prediction.
| -rw-r--r-- | src/libcollections/vec.rs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/libcollections/vec.rs b/src/libcollections/vec.rs index 716a07be2b4..c4e4059429f 100644 --- a/src/libcollections/vec.rs +++ b/src/libcollections/vec.rs @@ -1220,8 +1220,7 @@ impl<T> FromIterator<T> for Vec<T> { // expanded on this iteration in every case when the iterable is not // empty, but the loop in extend_desugared() is not going to see the // vector being full in the few subsequent loop iterations. - // So we get better branch prediction and the possibility to - // construct the vector with initial estimated capacity. + // So we get better branch prediction. let mut iterator = iterable.into_iter(); let mut vector = match iterator.next() { None => return Vec::new(), |
