mirror of
https://github.com/vlang/v.git
synced 2025-08-03 09:47:15 -04:00
18 lines
443 B
V
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
|
|
}
|