Use non-overlapping swap for inner heapsort loop · qinheping/verify-rust-std@5446229 (original) (raw)
File tree
1 file changed
lines changed
- core/src/slice/sort/unstable
1 file changed
lines changed
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -69,9 +69,7 @@ where | ||
69 | 69 | break; |
70 | 70 | } |
71 | 71 | |
72 | -// Swap `node` with the greater child, move one step down, and continue sifting. This | |
73 | -// could be ptr::swap_nonoverlapping but that adds a significant amount of binary-size. | |
74 | - ptr::swap(v_base.add(node), v_base.add(child)); | |
72 | + ptr::swap_nonoverlapping(v_base.add(node), v_base.add(child), 1); | |
75 | 73 | } |
76 | 74 | |
77 | 75 | node = child; |