Bläddra i källkod

Cross platform solution to getting amount of cpu cores

Logan Stucki 9 år sedan
förälder
incheckning
bb2c32f7b3
No account linked to committer's email
1 ändrade filer med 11 tillägg och 2 borttagningar
  1. 11
    2
      bin/journey-test.sh

+ 11
- 2
bin/journey-test.sh Visa fil

@@ -5,6 +5,7 @@
5 5
 TRACK=java
6 6
 TRACK_REPO="$TRACK"
7 7
 TRACK_SRC_EXT="java"
8
+CPU_CORES=`getconf NPROCESSORS_ONLN 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1`
8 9
 
9 10
 on_exit() {
10 11
   echo ">>> on_exit()"
@@ -98,6 +99,14 @@ get_cpu_architecture() {
98 99
   esac
99 100
 }
100 101
 
102
+get_optimal_amount_of_jobs() {
103
+  if [ "$CPU_CORES" -gt "1" ]; then 
104
+    echo $((CPU_CORES-1))
105
+  else 
106
+    echo 1 
107
+  fi
108
+}
109
+
101 110
 download_exercism_cli() {
102 111
   local os="$1"
103 112
   local arch="$2"
@@ -164,7 +173,7 @@ make_local_trackler() {
164 173
   cp -r ${track_root}/exercises tracks/${TRACK}
165 174
 
166 175
   gem install bundler
167
-  bundle install --jobs $((`nproc --all`-1))
176
+  bundle install --jobs $(get_optimal_amount_of_jobs)
168 177
   gem build trackler.gemspec
169 178
 
170 179
   # Make *this* the gem that x-api uses when we build x-api.
@@ -181,7 +190,7 @@ start_x_api() {
181 190
   pushd $xapi_home
182 191
 
183 192
   gem install bundler
184
-  bundle install --jobs $((`nproc --all`-1))
193
+  bundle install --jobs $(get_optimal_amount_of_jobs) 
185 194
   RACK_ENV=development rackup &
186 195
   xapi_pid=$!
187 196
   sleep 5