diff mbox

ObjC/ObjC++: bug fixes for @catch

Message ID 1291063099.935919717@192.168.2.228
State New
Headers show

Commit Message

Nicola Pero Nov. 29, 2010, 8:38 p.m. UTC
> I don't really care, with the exception of parallelization - the ObjC testsuite
> currently takes about 100 seconds to run serially on my machine and I'd love to 
> parallelize it and cut that time down by 4x or so.

> See check_gcc_parallelize and lang_checks_parallelized in Makefile.in.  You'll need
> to set lang_checks_parallelized in objc/Make-lang.in.

Thanks

I played with that, and got to parallelize the checks with '-j2'.  On my 2-core machine the time 
to run the ObjC testsuite goes down from 1m45s to 57s when using '-j2' and executing the execute.exp
tests in parallel with the other ones (execute.exp itself takes 55 seconds so it's about the
best you can do with 2 cores).  It's good, but it's tuned only for '-j2' and the output is not too
great.  I wish DejaGNU was parallelizing the tests for us; it would be able to adapt much
better to changes in the argument of '-j', and could produce a nice report, identical
to the standard one.

Anyway, good enough for now.  A patch is attached below.

Ok to commit ?

Thanks

Comments

Mike Stump Nov. 29, 2010, 9:14 p.m. UTC | #1
On Nov 29, 2010, at 12:38 PM, Nicola Pero wrote:
> I played with that, and got to parallelize the checks with '-j2'.  On my 2-core machine the time 
> to run the ObjC testsuite goes down from 1m45s to 57s when using '-j2' and executing the execute.exp
> tests in parallel with the other ones (execute.exp itself takes 55 seconds so it's about the
> best you can do with 2 cores).  It's good, but it's tuned only for '-j2' and the output is not too
> great.  I wish DejaGNU was parallelizing the tests for us;

In time, it may.  It would take someone to engineer up a new release of dejagnu.  QMTest might as well, you could check there if you wanted.

Yea, generally, I split into 12 groups and run n+2 tests.  Works well on 2, 4, 6 and 8 core machines.  I will note, that for gcc, it is beneficial to resplit the work for more efficient use.  If there were a command line tool for bin packing...  I might have contributed changes to do this.  If someone has a pointer to a tool...  I'd be interested.

> Ok to commit ?

Ok.
diff mbox

Patch

Index: Make-lang.in
===================================================================
--- Make-lang.in        (revision 167262)
+++ Make-lang.in        (working copy)
@@ -104,6 +104,12 @@ 
 
 lang_checks += check-objc
 
+# 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
+
 #

 # Install hooks:
 # cc1obj is installed elsewhere as part of $(COMPILERS).
Index: ChangeLog
===================================================================
--- ChangeLog   (revision 167262)
+++ ChangeLog   (working copy)
@@ -1,5 +1,12 @@ 
 2010-11-29  Nicola Pero  <nicola.pero@meta-innovation.com>
+           Mike Stump  <mikestump@comcast.net>
 
+       Allow 'make check-objc -j2'
+       * Make-lang.in (lang_checks_parallelized): New.
+       (check_objc_parallelize): New.
+
+2010-11-29  Nicola Pero  <nicola.pero@meta-innovation.com>
+
        * objc-act.c (objc_eh_runtime_type): Avoid ICE if error_mark_node
        is passed as argument.
        (objc_begin_catch_clause): Added code to deal with an