From c60948e52e72cf690a1a0a96fa08d939b7d5f81c Mon Sep 17 00:00:00 2001 From: Carlos Esquerdo Bernat Date: Mon, 20 Jul 2020 16:36:44 +0200 Subject: [PATCH] runtime: simplify nr_cpus(), add a test for nr_jobs() --- vlib/runtime/runtime.v | 27 ++++++++------------------- vlib/runtime/runtime_nix.c.v | 9 ++------- vlib/runtime/runtime_test.v | 5 +++++ vlib/runtime/runtime_windows.c.v | 7 +------ 4 files changed, 16 insertions(+), 32 deletions(-) diff --git a/vlib/runtime/runtime.v b/vlib/runtime/runtime.v index e0e29609ba..bf56a9651e 100644 --- a/vlib/runtime/runtime.v +++ b/vlib/runtime/runtime.v @@ -14,13 +14,6 @@ fn C.sysconf(name int) i64 fn C.GetCurrentProcessorNumber() u32 //} -pub fn nr_cpus() int { - $if windows { - return nr_cpus_win() - } - return nr_cpus_nix() -} - pub fn nr_jobs() int { mut cpus := nr_cpus() // allow for overrides, for example using `VJOBS=32 ./v test .` @@ -32,25 +25,21 @@ pub fn nr_jobs() int { } pub fn is_32bit() bool { - mut x := false - $if x32 { x = true } - return x + $if x32 { return true } + return false } pub fn is_64bit() bool { - mut x := false - $if x64 { x = true } - return x + $if x64 { return true } + return false } pub fn is_little_endian() bool { - mut x := false - $if little_endian { x = true } - return x + $if little_endian { return true } + return false } pub fn is_big_endian() bool { - mut x := false - $if big_endian { x = true } - return x + $if big_endian { return true } + return false } diff --git a/vlib/runtime/runtime_nix.c.v b/vlib/runtime/runtime_nix.c.v index f285dfd4a4..bccd7497d2 100644 --- a/vlib/runtime/runtime_nix.c.v +++ b/vlib/runtime/runtime_nix.c.v @@ -1,6 +1,6 @@ module runtime -fn nr_cpus_nix() int { +pub fn nr_cpus() int { $if linux { return int(C.sysconf(C._SC_NPROCESSORS_ONLN)) } @@ -11,9 +11,4 @@ fn nr_cpus_nix() int { return int(C.sysconf(C._SC_NPROCESSORS_ONLN)) } return 1 -} - -fn nr_cpus_win() int { - eprintln('nr_cpus_win should be callable only for windows') - return 1 -} +} \ No newline at end of file diff --git a/vlib/runtime/runtime_test.v b/vlib/runtime/runtime_test.v index 5cab789536..766cba770e 100644 --- a/vlib/runtime/runtime_test.v +++ b/vlib/runtime/runtime_test.v @@ -5,6 +5,11 @@ fn test_nr_cpus() { assert nr_cpus > 0 } +fn test_nr_jobs() { + nr_jobs := runtime.nr_jobs() + assert nr_jobs > 0 +} + fn test_is_32bit(){ x := runtime.is_32bit().str() assert x == 'true' || x == 'false' diff --git a/vlib/runtime/runtime_windows.c.v b/vlib/runtime/runtime_windows.c.v index a084cda858..9b3e7259cd 100644 --- a/vlib/runtime/runtime_windows.c.v +++ b/vlib/runtime/runtime_windows.c.v @@ -2,15 +2,10 @@ module runtime import os -fn nr_cpus_win() int { +pub fn nr_cpus() int { mut nr := int(C.GetCurrentProcessorNumber()) if nr == 0 { nr = os.getenv('NUMBER_OF_PROCESSORS').int() } return nr } - -fn nr_cpus_nix() int { - eprintln('nr_cpus_nix should be callable only for nix platforms') - return 1 -}