This also required adding a loop guard in case clone panics Add specialization for copy There is a better version for copy, so I've added specialization for that function and hopefully that should speed it up even more. Switch FromIter<slice::Iter> to use `to_vec` Test different unrolling version for to_vec Revert to impl From benchmarking, it appears this version is faster
10 lines
178 B
Rust
10 lines
178 B
Rust
// compile-flags: -O
|
|
|
|
#![crate_type = "lib"]
|
|
|
|
// CHECK-LABEL: @copy_to_vec
|
|
#[no_mangle]
|
|
fn copy_to_vec(s: &[u64]) -> Vec<u64> {
|
|
s.to_vec()
|
|
// CHECK: call void @llvm.memcpy
|
|
}
|