diff --git a/sbs b/sbs
index ac46dcad5c9fed1bb625a9545092b92c98242b77..65c57c39234bff3cfd14b0450c2ff552ca2c9f41 100755
--- a/sbs
+++ b/sbs
@@ -58,6 +58,13 @@ VERBOSE_FILENAME=".sbs_verbose"
 BUILD_DEFAULT_DIRNAME="build"
 BUILD_HOST_DIRNAME="build-host"
 
+# Logical cores count, cross platform
+N_PROC=$(
+    nproc 2>/dev/null ||                   # Linux
+    sysctl -n hw.logicalcpu 2>/dev/null || # macOS 
+    getconf _NPROCESSORS_ONLN 2>/dev/null  # POSIX
+)
+
 ################################################################################
 ##############################    Global States   ##############################
 ################################################################################
@@ -465,7 +472,7 @@ lint_clangformat() {
     # count files and spread them evenly across cores: files / nproc + 1
     declare files_per_proc=$(
         echo "$files" | wc -l | \
-        xargs -I {} bash -c "expr \( {} / $(nproc) \) + 1"
+        xargs -I {} bash -c "expr \( {} / $N_PROC \) + 1"
     )
 
     echo "$files" | xargs -n $files_per_proc -P 0 clang-format "${opts[@]}"
@@ -750,7 +757,7 @@ format() {
     # count files and spread them evenly across cores: files / nproc + 1
     declare files_per_proc=$(
         echo "$files" | wc -l | \
-        xargs -I {} bash -c "expr \( {} / $(nproc) \) + 1"
+        xargs -I {} bash -c "expr \( {} / $N_PROC \) + 1"
     )
 
     echo "$files" | xargs -n $files_per_proc -P 0 clang-format "${opts[@]}"