1. 14 2月, 2015 3 次提交
    • B
      Auto merge of #21834 - genbattle:doc-range-notation, r=steveklabnik · f174bcab
      bors 提交于
      Replaced outdated use of the `range(start, end)` function where appropriate with `start..end`, and tweaked the examples to compile and run with the latest rust. I also fixed two periphery compile issues in reference.md which were occluding whether there were any new errors created by these changes.
      f174bcab
    • B
      Auto merge of #21376 - fhahn:issue-15881-model-lexer-dotdotdot, r=cmr · b8c112fc
      bors 提交于
      This PR adds a dedicated regression test for #15881 as @cmr suggested.
      b8c112fc
    • B
      Auto merge of #22200 - alexcrichton:opt-vec-collect, r=huonw · b9ba643b
      bors 提交于
      This PR is an optimization of the `FromIterator` implementation of `Vec`
      
      Benchmark: https://gist.github.com/alexcrichton/03d666159a28a80e7c70
      
      Before:
      
          test macro_repeat1     ... bench:        57 ns/iter (+/- 1)
          test macro_repeat2     ... bench:        56 ns/iter (+/- 1)
          test map_clone1        ... bench:       828 ns/iter (+/- 13)
          test map_clone2        ... bench:       828 ns/iter (+/- 8)
          test repeat1           ... bench:      1104 ns/iter (+/- 10)
          test repeat2           ... bench:      1106 ns/iter (+/- 11)
      
      After:
      
          test macro_repeat1     ... bench:        75 ns/iter (+/- 21)
          test macro_repeat2     ... bench:        59 ns/iter (+/- 31)
          test map_clone1        ... bench:        34 ns/iter (+/- 22)
          test map_clone2        ... bench:        52 ns/iter (+/- 21)
          test repeat1           ... bench:        34 ns/iter (+/- 11)
          test repeat2           ... bench:        33 ns/iter (+/- 12)
      
      The idea behind this optimization is to avoid all bounds checks for space
      already allocated into the vector. This may involve running the iterator twice,
      but the first run of the iterator should be optimizable to a memcpy or memset if
      possible.
      
      The same treatment can in theory be applied to `Vec::extend` but the benchmarks
      for that currently get *worse* if the change is applied. This appears to be some
      LLVM optimizations going awry but it's seems prudent to land at least the
      `collect` portion beforehand.
      b9ba643b
  2. 13 2月, 2015 17 次提交
  3. 12 2月, 2015 20 次提交