v/vlib/runtime/used_memory_darwin.c.v
2025-07-14 12:45:53 +03:00

18 lines
443 B
V

module runtime
struct C.task_basic_info {
resident_size u64
}
fn C.task_info(C.task_t, int, &C.task_basic_info, &u64) int
// used_memory retrieves the current physical memory usage of the process.
pub fn used_memory() !u64 {
mut info := C.task_basic_info{}
mut count := u64(C.MACH_TASK_BASIC_INFO_COUNT)
if C.task_info(C.mach_task_self(), C.TASK_BASIC_INFO, &info, &count) == C.KERN_SUCCESS {
return info.resident_size
}
return 0
}