我正在编写一个应用程序,它将通过 TCP 连接与另一个服务进行通信。
从性能角度来看,我是一次性从所有数据中提取数据TcpStream还是一次读取各个部分的性能是否重要?比较:
fn read_byte_by_byte() {
let mut stream = TcpStream::connect("localhost:3001").unwrap();
let mut endian = [0; 1];
let mut protocol = [0; 1];
let mut msg_length = [0; 4];
stream.read(&mut endian).unwrap();
stream.read(&mut protocol).unwrap();
stream.read(&mut [0; 2]).unwrap(); // throw away two padding bytes
stream.read(&mut msg_length).unwrap();
}
Run Code Online (Sandbox Code Playgroud)
fn read_in_bulk() {
let mut stream = TcpStream::connect("localhost:3001").unwrap();
let mut full_msg = [0; 8];
stream.read(&mut full_msg).unwrap();
}
Run Code Online (Sandbox Code Playgroud)
它们相等吗?或者前者的表现会更差?