| 8 | |
| 9 | #[no_mangle] |
| 10 | pub fn main() -> i32 { |
| 11 | let mut buffer = [0u8; 1024]; // 1KiB |
| 12 | for (i, ch) in buffer.iter_mut().enumerate() { |
| 13 | *ch = i as u8; |
| 14 | } |
| 15 | let f = open("testf\0", OpenFlags::CREATE | OpenFlags::WRONLY); |
| 16 | if f < 0 { |
| 17 | panic!("Open test file failed!"); |
| 18 | } |
| 19 | let f = f as usize; |
| 20 | let start = get_time(); |
| 21 | let size_mb = 1usize; |
| 22 | for _ in 0..1024 * size_mb { |
| 23 | write(f, &buffer); |
| 24 | } |
| 25 | close(f); |
| 26 | let time_ms = (get_time() - start) as usize; |
| 27 | let speed_kbs = (size_mb << 20) / time_ms; |
| 28 | println!( |
| 29 | "{}MiB written, time cost = {}ms, write speed = {}KiB/s", |
| 30 | size_mb, time_ms, speed_kbs |
| 31 | ); |
| 32 | 0 |
| 33 | } |