This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: parallelize objc testing a bit more


On Tue, Feb 22, 2011 at 12:20:26AM -0800, Mike Stump wrote:
> 	* Make-lang.in (check_objc_parallelize): Refine for 4 processor machines.

This doesn't seem to be a good idea to me.
At least in my testing
1) objc testing never even shows up on the radar
2) execute.exp takes roughly the same time as the rest of objc testing, both
   take about 3 minutes (when doing make -j48 -k check):
grep exp.*seconds objc*/objc*.log.sep
objc1/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc/execute/execute.exp completed in 177 seconds
objc/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc/compile/compile.exp completed in 7 seconds
objc/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc/execute/exceptions/exceptions.exp completed in 22 seconds
objc/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc.dg/attributes/attributes.exp completed in 2 seconds
objc/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc.dg/dg.exp completed in 37 seconds
objc/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc.dg/gnu-encoding/gnu-encoding.exp completed in 24 seconds
objc/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc.dg/lto/lto.exp completed in 2 seconds
objc/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc.dg/pch/pch.exp completed in 3 seconds
objc/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc.dg/property/property.exp completed in 15 seconds
objc/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc.dg/special/special.exp completed in 2 seconds
objc/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc.dg/strings/strings.exp completed in 1 seconds
objc/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc.dg/tls/tls.exp completed in 1 seconds
objc/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc.dg/torture/dg-torture.exp completed in 9 seconds
objc/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc.dg/torture/strings/strings.exp completed in 32 seconds
objc/objc.log.sep:testcase /usr/src/gcc/gcc/testsuite/objc.dg/torture/tls/tls.exp completed in 13 seconds

So, by splitting off a 24 second job and a 22 second job separately, you just slow the whole regtest
down by increasing make overhead and time to merge the results back.  I doubt it can help
even with separate make check-objc -jN testing (and that is not the common case of people doing testing,
most people just do make -jN -k check in the toplevel and that is what we should optimize for).

We need to retune the parallelization, but the primary spot would be to split libstdc++ testing
some more (two more jobs?) and perhaps some of the larger check-gcc jobs too.

> 2011-02-21  Mike Stump  <mikestump@comcast.net>
> 
> 	* Make-lang.in (check_objc_parallelize): Refine for 4 processor machines.
> 
> Index: Make-lang.in
> ===================================================================
> --- Make-lang.in	(revision 170390)
> +++ Make-lang.in	(working copy)
> @@ -128,9 +128,8 @@
>  
>  # The following allows you to do 'make check-objc -j2'.  The
>  # execute.exp tests will be run in parallel with all the other ones.
> -# This is tuned for '-j2'.
>  lang_checks_parallelized += check-objc
> -check_objc_parallelize = execute.exp
> +check_objc_parallelize = gnu-encoding.exp execute.exp exceptions.exp
>  
>  #
>  # Install hooks:


	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]