#+private package main import "core:sys/darwin" CTL_HW :: 6 HW_AVAILCPU :: 25 HW_NCPU :: 3 get_hardware_concurrency :: proc() -> int { mib: [4]i32 num_cpu: i32 num_cpu_len: uint = size_of(num_cpu) mib[0] = CTL_HW mib[1] = HW_AVAILCPU darwin.syscall_sysctl(&mib[0], 2, &num_cpu, &num_cpu_len, nil, 0) if num_cpu < 1 { mib[1] = HW_NCPU darwin.syscall_sysctl(&mib[0], 2, &num_cpu, &num_cpu_len, nil, 0) } return int(num_cpu if num_cpu > 0 else 1) }