diff options
| author | bors <bors@rust-lang.org> | 2014-04-16 03:36:27 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-04-16 03:36:27 -0700 |
| commit | f39ba69aaa0b50d7aaa130306f3f12d89583d501 (patch) | |
| tree | 3a2ed31ecb5ac65b25704fa4a815e506762ea5a6 /src/rustllvm/RustWrapper.cpp | |
| parent | 61f788c772a1e0cefb19c54f12fbf42a65464334 (diff) | |
| parent | be334d582435a05ea56c1ca7fcb2e512cfc51f24 (diff) | |
| download | rust-f39ba69aaa0b50d7aaa130306f3f12d89583d501.tar.gz rust-f39ba69aaa0b50d7aaa130306f3f12d89583d501.zip | |
auto merge of #13539 : Aatch/rust/vector-copy-faster, r=thestinger
LLVM wasn't recognising the loops as memcpy loops and was therefore failing to optimise them properly. While improving LLVM is the "proper" way to fix this, I think that these cases are important enough to warrant a little low-level optimisation. Fixes #13472 r? @thestinger --- Benchmark Results: ``` --- Before --- test clone_owned ... bench: 6126104 ns/iter (+/- 285962) = 170 MB/s test clone_owned_to_owned ... bench: 6125054 ns/iter (+/- 271197) = 170 MB/s test clone_str ... bench: 80586 ns/iter (+/- 11489) = 13011 MB/s test clone_vec ... bench: 3903220 ns/iter (+/- 658556) = 268 MB/s test test_memcpy ... bench: 69401 ns/iter (+/- 2168) = 15108 MB/s --- After --- test clone_owned ... bench: 70839 ns/iter (+/- 4931) = 14801 MB/s test clone_owned_to_owned ... bench: 70286 ns/iter (+/- 4836) = 14918 MB/s test clone_str ... bench: 78519 ns/iter (+/- 5511) = 13353 MB/s test clone_vec ... bench: 71415 ns/iter (+/- 1999) = 14682 MB/s test test_memcpy ... bench: 70980 ns/iter (+/- 2126) = 14772 MB/s ```
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
