MCPcopy Create free account
hub / github.com/chyyuu/os_kernel_lab / main

Function main

user/src/bin/huge_write.rs:10–33  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

8
9#[no_mangle]
10pub 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}

Callers

nothing calls this directly

Calls 4

openFunction · 0.85
writeFunction · 0.85
closeFunction · 0.85
get_timeFunction · 0.50

Tested by

no test coverage detected