rust/src
Björn Steinbrink 9f4d5b4be1 Improve PartialEq for slices
Exploiting the fact that getting the length of the slices is known, we
can use a counted loop instead of iterators, which means that we only
need a single counter, instead of having to increment and check one
pointer for each iterator.

Benchmarks comparing vectors with 100,000 elements:

Before:

```
running 8 tests
test eq1_u8  ... bench:      66,757 ns/iter (+/- 113)
test eq2_u16 ... bench:     111,267 ns/iter (+/- 149)
test eq3_u32 ... bench:     126,282 ns/iter (+/- 111)
test eq4_u64 ... bench:     126,418 ns/iter (+/- 155)
test ne1_u8  ... bench:      88,990 ns/iter (+/- 161)
test ne2_u16 ... bench:      89,126 ns/iter (+/- 265)
test ne3_u32 ... bench:      96,901 ns/iter (+/- 92)
test ne4_u64 ... bench:      96,750 ns/iter (+/- 137)
```

After:

```
running 8 tests
test eq1_u8  ... bench:      46,413 ns/iter (+/- 521)
test eq2_u16 ... bench:      46,500 ns/iter (+/- 74)
test eq3_u32 ... bench:      50,059 ns/iter (+/- 92)
test eq4_u64 ... bench:      54,001 ns/iter (+/- 92)
test ne1_u8  ... bench:      47,595 ns/iter (+/- 53)
test ne2_u16 ... bench:      47,521 ns/iter (+/- 59)
test ne3_u32 ... bench:      44,889 ns/iter (+/- 74)
test ne4_u64 ... bench:      47,775 ns/iter (+/- 68)
```
2015-07-08 14:49:55 +02:00
..
compiler-rt@58ab642c30
compiletest Auto merge of #25754 - geofft:remove-compiletest-jit, r=alexcrichton 2015-07-05 19:05:14 +00:00
doc book: introduce //! doc comment in comments section 2015-07-06 14:55:06 +08:00
driver
error-index-generator
etc Add netbsd amd64 support 2015-07-01 19:09:14 -07:00
grammar
jemalloc@e24a1a025a
liballoc Fix 'Relaaxed' typo in code comment 2015-07-03 00:13:02 -07:00
libarena
libbacktrace
libcollections Auto merge of #26817 - cmr:vecdeque-docs, r=Gankro 2015-07-06 05:01:21 +00:00
libcollectionstest
libcore Improve PartialEq for slices 2015-07-08 14:49:55 +02:00
libcoretest
libflate
libfmt_macros
libgetopts
libgraphviz
liblibc Add netbsd amd64 support 2015-07-01 19:09:14 -07:00
liblog
librand
librbml
librustc Auto merge of #26694 - eddyb:method-nan, r=arielb1 2015-07-04 18:49:28 +00:00
librustc_back Add netbsd amd64 support 2015-07-01 19:09:14 -07:00
librustc_bitflags
librustc_borrowck Auto merge of #26378 - arielb1:unused-mut, r=pnkfelix 2015-07-03 21:31:46 +00:00
librustc_data_structures
librustc_driver Update librustc_driver/test.rs 2015-07-01 19:29:17 -07:00
librustc_lint Auto merge of #26473 - Eljay:missing_docs, r=alexcrichton 2015-07-05 20:37:26 +00:00
librustc_llvm
librustc_privacy rustc: remove MethodOrigin and use the container to distinguish inherent methods. 2015-07-04 17:51:31 +03:00
librustc_resolve
librustc_trans rustc: remove MethodOrigin and use the container to distinguish inherent methods. 2015-07-04 17:51:31 +03:00
librustc_typeck Auto merge of #26694 - eddyb:method-nan, r=arielb1 2015-07-04 18:49:28 +00:00
librustc_unicode
librustdoc Auto merge of #26733 - nhowell:update-jquery, r=steveklabnik 2015-07-02 23:28:20 +00:00
libserialize
libstd typo "struct has is 0-sized" 2015-07-06 13:58:37 +02:00
libsyntax Auto merge of #26378 - arielb1:unused-mut, r=pnkfelix 2015-07-03 21:31:46 +00:00
libterm
libtest
llvm@8cbcdf1b72
rt
rust-installer@8e4f8ea581
rustbook
rustllvm
test Auto merge of #26473 - Eljay:missing_docs, r=alexcrichton 2015-07-05 20:37:26 +00:00
snapshots.txt