From abf728103fc91f2d63fb84f2d7a281d025393cbd Mon Sep 17 00:00:00 2001 From: shyouhei Date: Thu, 15 Nov 2018 07:37:05 +0000 Subject: [PATCH] .travis.yml: -j3 [ci skip] Now that ccache is enabled. Compilations are made IO heavy, not CPU bound. This means parallel jobs beyond CPU count could gain more speed. From my experiment, I can conclude the good old "number of cores plus one" tactics works the best. The experiment: https://travis-ci.org/shyouhei/ruby/builds/454891855 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- .travis.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 90d2aa9224..12ac51deff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -68,6 +68,14 @@ env: - "CCACHE_COMPILERCHECK=none" - "CCACHE_NOCOMPRESS=1" - "CCACHE_MAXSIZE=512Mi" + - >- + NPROC="`case ${TRAVIS_OS_NAME} in + osx) sysctl -n hw.activecpu ;; + linux) nproc ;; + esac`" + # JOBS and SETARCH are overridden when necessary; see below. + - "JOBS=-j$((1+${NPROC}))" + - "SETARCH=" .org.ruby-lang.ci.matrix-definitions: @@ -264,7 +272,6 @@ env: <<: *osx env: - "CONFIG_FLAG='--with-opt-dir=/usr/local/opt/openssl@1.1:/usr/local/opt/zlib'" - - "JOBS=\"-j`sysctl -n hw.activecpu`\"" - "TEST_ALL_OPTS=\"$JOBS -q --tty=no --excludes=\\$(TESTSDIR)/excludes/_travis/osx\"" - &universal-darwin17 @@ -274,7 +281,6 @@ env: <<: *make-test-only env: - "CONFIG_FLAG='--with-arch=x86_64h,x86_64,i386'" - - "JOBS=\"-j`sysctl -n hw.activecpu`\"" - "TEST_ALL_OPTS=\"$JOBS -q --tty=no --excludes=\\$(TESTSDIR)/excludes/_travis/osx\"" matrix: @@ -303,7 +309,7 @@ matrix: fast_finish: true before_script: - - "echo JOBS=${JOBS=-j`nproc`} SETARCH=${SETARCH=}" + - "echo JOBS=${JOBS} SETARCH=${SETARCH}" - "$SETARCH uname -a" - "$SETARCH uname -r" - "rm -fr .ext autom4te.cache" @@ -335,7 +341,7 @@ before_script: - "$SETARCH make reconfig" - "cp -pr config.cache config.status .ext/include ../config_2nd" - "(cd .. && exec diff -ru config_1st config_2nd)" - - | + - |- chmod u+w .. rm -r ~/config_2nd mv ../config_2nd ~