更新了代码中的打印语句和速度计算方法。

This commit is contained in:
shenjack 2024-03-09 19:00:52 +08:00
parent 9285ee2853
commit 211cf06f29
Signed by: shenjack
GPG Key ID: 7B1134A979775551
5 changed files with 24 additions and 29 deletions

View File

@ -1,7 +1,7 @@
[workspace]
members = [
"nbt-test",
# "shen-nbt1", # EOL!
"shen-nbt1", # EOL!
"shen-nbt2",
"shen-nbt3",
"shen-nbt4",

View File

@ -116,24 +116,33 @@ fn big_read_test() {
read_test(data.to_vec());
}
pub fn print_speed(speed: f64) {
println!("speed: {} (bytes/s)", speed);
let speeds = vec![
speed / 1024.0,
speed / 1024.0 / 1024.0,
speed / 1024.0 / 1024.0 / 1024.0,
speed / 1024.0 / 1024.0 / 1024.0 / 1024.0,
];
// 只输出 > 1024 的
for (i, speed) in speeds.iter().enumerate() {
if *speed > 1.0 {
println!("{:?} ({}/s)", speed, ["KB", "MB", "GB", "TB"][i]);
}
}
}
macro_rules! test_lib {
($func: block, $name: expr, $len: expr) => {
std::thread::sleep(std::time::Duration::from_secs(1));
std::thread::sleep(std::time::Duration::from_micros(100));
let start_time = std::time::Instant::now();
$func
let end_time = std::time::Instant::now();
println!("=== {} ===", $name);
print!("time: {:?}", end_time - start_time);
println!(" speed: {:?} (bytes/sec)", $len as f64 / (end_time - start_time).as_secs_f64());
println!("{:?} (kb/sec)", $len as f64 / (end_time - start_time).as_secs_f64() / 1024.0);
println!(
"{:?} (mb/sec)",
$len as f64 / (end_time - start_time).as_secs_f64() / 1024.0 / 1024.0
);
println!(
"{:?} (gb/sec)",
$len as f64 / (end_time - start_time).as_secs_f64() / 1024.0 / 1024.0 / 1024.0
);
println!("time: {:?}", end_time - start_time);
println!("speed: {:?} (bytes/sec)", $len as f64 / (end_time - start_time).as_secs_f64());
let raw_speed = $len as f64 / (end_time - start_time).as_secs_f64();
print_speed(raw_speed);
#[cfg(feature = "core_debug")]
println!("nbt_data: {:#?}", nbt_data);
};
@ -252,16 +261,8 @@ fn cli_read_test() {
let end_time = std::time::Instant::now();
println!("=== shen nbt 5 ===");
print!("time: {:?}", end_time - start_time);
println!(" speed: {:?} (bytes/sec)", len as f64 / (end_time - start_time).as_secs_f64());
println!("{:?} (kb/sec)", len as f64 / (end_time - start_time).as_secs_f64() / 1024.0);
println!(
"{:?} (mb/sec)",
len as f64 / (end_time - start_time).as_secs_f64() / 1024.0 / 1024.0
);
println!(
"{:?} (gb/sec)",
len as f64 / (end_time - start_time).as_secs_f64() / 1024.0 / 1024.0 / 1024.0
);
let raw_speed = len as f64 / (end_time - start_time).as_secs_f64();
print_speed(raw_speed);
#[cfg(feature = "core_debug")]
println!("nbt_data: {:#?}", nbt_data);
// println!("nbt len {}", nbt_data.as_byte().is_some());

View File

@ -473,9 +473,7 @@ impl<'value> Value<'value> {
let mut nbt_data = NbtData::new(data);
let _type_id = nbt_data.read_byte();
let _name_len = nbt_data.read_short();
println!("{} {}", _type_id, _name_len);
let name = String::from_utf8(nbt_data.read_bytes(_name_len as usize)).unwrap();
println!("{}", name);
Value::read_compound(&mut nbt_data)
}
}

View File

@ -429,9 +429,7 @@ impl<'value> Value<'value> {
let mut nbt_data = NbtData::new(&mut data[..]);
let _type_id = nbt_data.read_byte();
let _name_len = nbt_data.read_short();
// println!("{} {}", _type_id, _name_len);
let _name = String::from_utf8(nbt_data.read_bytes(_name_len as usize)).unwrap();
// println!("{}", _name);
Value::read_compound(&mut nbt_data)
}
}

View File

@ -468,9 +468,7 @@ impl<'value> Value<'value> {
let mut nbt_data = NbtData::new(data);
let _type_id = nbt_data.read_byte();
let _name_len = nbt_data.read_short();
println!("{} {}", _type_id, _name_len);
let name = String::from_utf8(nbt_data.read_bytes(_name_len as usize)).unwrap();
println!("{}", name);
Value::read_compound(&mut nbt_data)
}
}