]> git.lizzy.rs Git - rust.git/commit
Add a specialization of read_exact for Cursor.
authorKyle Huey <khuey@kylehuey.com>
Mon, 4 Dec 2017 04:45:12 +0000 (20:45 -0800)
committerKyle Huey <khuey@kylehuey.com>
Mon, 4 Dec 2017 04:45:12 +0000 (20:45 -0800)
commit02c1862fb55c6ae4198038b1b317bcdd06e395d1
tree3dc542449e75d299a09217a504cae3b3e6f0aef1
parentf2b11f30b2946119c23594bc2b3bec3c38d3ae9a
Add a specialization of read_exact for Cursor.

The read_exact implementation for &[u8] is optimized and usually allows LLVM to reduce a read_exact call for small numbers of bytes to a bounds check and a register load instead of a generic memcpy.  On a workload I have that decompresses, deserializes (via bincode), and processes some data, this leads to a 40% speedup by essentially eliminating the deserialization overhead entirely.
src/libstd/io/cursor.rs