diff options
| author | ruki <[email protected]> | 2021-09-07 00:54:27 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-09-07 00:54:27 +0800 |
| commit | 02411882d17b8a71ba900cd803dfc3b5ec612da7 (patch) | |
| tree | 0a40385acc5009208eae2d23e0cfa3b86ffc7110 | |
| parent | b6923a6915f452da991fa2818028dde2c1ff1ac5 (diff) | |
add os.default_njob
| -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 |
