Only count bits in touched array members.

This commit is contained in:
Jeroen van Rijn
2026-02-09 19:13:32 +01:00
parent 454ad1f4b8
commit 1a37f4eb0c

View File

@@ -59,9 +59,8 @@ _get_current_thread_id :: proc "contextless" () -> int {
@(private="package")
_get_processor_core_count :: proc() -> (core_count: int) {
cpu_set: [128]u64
if _, err := linux.sched_getaffinity(0, size_of(cpu_set), &cpu_set); err == nil {
for set in cpu_set {
if n, err := linux.sched_getaffinity(0, size_of(cpu_set), &cpu_set); err == nil {
for set in cpu_set[:n / 8] {
core_count += int(intrinsics.count_ones(set))
}
}