aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/old/vlib/runtime/runtime_windows.c.v
diff options
context:
space:
mode:
Diffstat (limited to 'v_windows/v/old/vlib/runtime/runtime_windows.c.v')
-rw-r--r--v_windows/v/old/vlib/runtime/runtime_windows.c.v21
1 files changed, 21 insertions, 0 deletions
diff --git a/v_windows/v/old/vlib/runtime/runtime_windows.c.v b/v_windows/v/old/vlib/runtime/runtime_windows.c.v
new file mode 100644
index 0000000..de5b2ce
--- /dev/null
+++ b/v_windows/v/old/vlib/runtime/runtime_windows.c.v
@@ -0,0 +1,21 @@
+module runtime
+
+import os
+
+[typedef]
+struct C.SYSTEM_INFO {
+ dwNumberOfProcessors u32
+}
+
+fn C.GetSystemInfo(&C.SYSTEM_INFO)
+
+// nr_cpus returns the number of virtual CPU cores found on the system.
+pub fn nr_cpus() int {
+ sinfo := C.SYSTEM_INFO{}
+ C.GetSystemInfo(&sinfo)
+ mut nr := int(sinfo.dwNumberOfProcessors)
+ if nr == 0 {
+ nr = os.getenv('NUMBER_OF_PROCESSORS').int()
+ }
+ return nr
+}