diff options
| -rw-r--r-- | xmake/core/base/os.lua | 15 | ||||
| -rw-r--r-- | xmake/core/sandbox/modules/os.lua | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/xmake/core/base/os.lua b/xmake/core/base/os.lua index ea913b977..312d5705d 100644 --- a/xmake/core/base/os.lua +++ b/xmake/core/base/os.lua @@ -1237,6 +1237,21 @@ function os.cpuinfo(name) return require("base/cpu").info(name) end +-- get the default parallel jobs number +function os.default_njob() + local njob = math.ceil(os.cpuinfo().ncpu * 3 / 2) + if os.host() == "windows" and njob > 128 then + njob = 128 + end + if njob > 512 then + njob = 512 + end + if njob < 1 then + njob = 1 + end + return njob +end + -- read the content of symlink function os.readlink(symlink) return os._readlink(path.absolute(symlink)) diff --git a/xmake/core/sandbox/modules/os.lua b/xmake/core/sandbox/modules/os.lua index beb60ddab..9f6fcd8d8 100644 --- a/xmake/core/sandbox/modules/os.lua +++ b/xmake/core/sandbox/modules/os.lua @@ -65,6 +65,7 @@ sandbox_os.joinenvs = os.joinenvs sandbox_os.pbpaste = os.pbpaste sandbox_os.pbcopy = os.pbcopy sandbox_os.cpuinfo = os.cpuinfo +sandbox_os.default_njob = os.default_njob sandbox_os.emptydir = os.emptydir sandbox_os.filesize = os.filesize sandbox_os.features = os.features |
