ruby-changes:53525
From: shyouhei <ko1@a...>
Date: Thu, 15 Nov 2018 16:37:09 +0900 (JST)
Subject: [ruby-changes:53525] shyouhei:r65741 (trunk): .travis.yml: -j3 [ci skip]
shyouhei 2018-11-15 16:37:05 +0900 (Thu, 15 Nov 2018) New Revision: 65741 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=65741 Log: .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 Modified files: trunk/.travis.yml Index: .travis.yml =================================================================== --- .travis.yml (revision 65740) +++ .travis.yml (revision 65741) @@ -68,6 +68,14 @@ env: https://github.com/ruby/ruby/blob/trunk/.travis.yml#L68 - "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: https://github.com/ruby/ruby/blob/trunk/.travis.yml#L272 <<: *osx env: - "CONFIG_FLAG='--with-opt-dir=/usr/local/opt/openssl@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: https://github.com/ruby/ruby/blob/trunk/.travis.yml#L281 <<: *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: https://github.com/ruby/ruby/blob/trunk/.travis.yml#L309 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: https://github.com/ruby/ruby/blob/trunk/.travis.yml#L341 - "$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 ~ -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/