Improve tls_read() performance

Changing a for loop in deframer with memmove() reduces CPU utilization
by 30% when downloading a 1G file over https.
This commit is contained in:
Nicolas Viennot 2020-04-04 17:53:40 +00:00 committed by Joseph Birr-Pixton
parent 8e9751f9ef
commit cc1267ed4e
1 changed files with 2 additions and 6 deletions

View File

@ -146,13 +146,9 @@ impl MessageDeframer {
* +----------+----------+----------+ * +----------+----------+----------+
* 0 ^ self.used * 0 ^ self.used
*/ */
let used_after = self.used - taken;
for i in 0..used_after { self.buf.copy_within(taken..self.used, 0);
self.buf[i] = self.buf[i + taken]; self.used = self.used - taken;
}
self.used = used_after;
} else if taken == self.used { } else if taken == self.used {
self.used = 0; self.used = 0;
} }