From patchwork Fri Oct 21 14:01:48 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rainer Orth X-Patchwork-Id: 78672 Delivered-To: patch@linaro.org Received: by 10.140.97.247 with SMTP id m110csp1316642qge; Fri, 21 Oct 2016 07:02:21 -0700 (PDT) X-Received: by 10.107.164.3 with SMTP id n3mr1216422ioe.88.1477058541290; Fri, 21 Oct 2016 07:02:21 -0700 (PDT) Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id ie7si2385432pad.127.2016.10.21.07.02.20 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 21 Oct 2016 07:02:21 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-return-439238-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org; spf=pass (google.com: domain of gcc-patches-return-439238-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-439238-patch=linaro.org@gcc.gnu.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:mime-version:content-type; q=dns; s=default; b=wxrm96TrVedYvGeTLM6lhBrOFKbUeGTo5jaadIuCpJwqeMrX0d CmChdHKIPPfrgc/MXYj95K3TgdF4iJ3NTGXmAEiWvQvrBYSQ9q3GqQBthS0M4zEp BZaJ0tkxRoWmo98kwaEoL7FgvWli5pakfthgflSFP66b+yCZaGH0Z+omM= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:mime-version:content-type; s= default; bh=7Gzd8ViRtqKwJH2Zz3Z3vmAbxUE=; b=tbaoV7ksYYncKhK2EZYw E/Kok0ZixurM5kKvVnsP+Pa0lZv+kguE94SjtUXjhqs/H98eKG+fsZz7BOJvUgno 9rOAuwMhN2iaNd6l5eA1R2YPMBZj36oxrReaG9sDLlXNrj4xWztIdRO5bJyKqkym SmIWu1yJQxdHaKf7b24jieI= Received: (qmail 1570 invoked by alias); 21 Oct 2016 14:02:04 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 1561 invoked by uid 89); 21 Oct 2016 14:02:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.2 required=5.0 tests=AWL, BAYES_50, KAM_LAZY_DOMAIN_SECURITY, RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=Hx-languages-length:2041, H*r:Sun, Bielefeld, bielefeld X-HELO: smtp.CeBiTec.Uni-Bielefeld.DE Received: from smtp.CeBiTec.Uni-Bielefeld.DE (HELO smtp.CeBiTec.Uni-Bielefeld.DE) (129.70.160.84) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 21 Oct 2016 14:01:54 +0000 Received: from localhost (localhost.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id 8E542349; Fri, 21 Oct 2016 16:01:51 +0200 (CEST) Received: from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (malfoy.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) (amavisd-new, port 10024) with LMTP id GbyNPym5YQvL; Fri, 21 Oct 2016 16:01:49 +0200 (CEST) Received: from lokon.CeBiTec.Uni-Bielefeld.DE (lokon.CeBiTec.Uni-Bielefeld.DE [129.70.161.152]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPS id 6DC59347; Fri, 21 Oct 2016 16:01:49 +0200 (CEST) Received: (from ro@localhost) by lokon.CeBiTec.Uni-Bielefeld.DE (8.15.2+Sun/8.15.2/Submit) id u9LE1m1G011151; Fri, 21 Oct 2016 16:01:48 +0200 (MEST) From: Rainer Orth To: gcc-patches@gcc.gnu.org Cc: Arnaud Charlet , Eric Botcazou , Jakub Jelinek Subject: [ada, testsuite] Parallelize check-gnat Date: Fri, 21 Oct 2016 16:01:48 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (usg-unix-v) MIME-Version: 1.0 X-IsSubscribed: yes I happened to notice that the gnat.dg testsuite run is slow even on a reasonably fast SPARC machine (3.6 GHz SPARC T5) and together with the libgomp testsuite (PR libgomp/66005) dominates bootstrap time: within a make -j96 -k check, it takes 1h 18m 37s. For unknown reasons, check-gnat isn't parallelized though it is trivial to do and buys quite a bit: * On the same machine, though otherwise idle, it reduces make -j96 check-gnat time to 2m 23s and even within a full bootstrap, the time goes down to 44m 6s. * On x86 systems, there are also considable speedups: 2.6 GHz AMD Opteron 8435, -j24 43m 24s => 33m 4s 2.93 GHz Intel Xeon X7350, -j16 30m 7s => 9m 8s 2.67 GHz Intel Xeon X7542, -j48 14m 56s => 5m 50s Seems like a worthwhile speedup to me. Bootstrapped without regressions on i386-pc-solaris2.12, sparc-sun-solaris2.12, and x86_64-pc-linux-gnu. dg-cmp-results.sh reports the sequential and parallel gnat.sum as identical. Ok for mainline (and eventually for 5 and 6 branches given the small size and low risk of the patch)? Thanks. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University 2016-10-21 Rainer Orth * gcc-interface/Make-lang.in (lang_checks_parallelized): New target. (check_gnat_parallelize): Likewise. # HG changeset patch # Parent 13db0c5f22f787b7a09b81e1173677a02afa240d Parallelize check-gnat diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in --- a/gcc/ada/gcc-interface/Make-lang.in +++ b/gcc/ada/gcc-interface/Make-lang.in @@ -863,6 +863,9 @@ ada.stagefeedback: stagefeedback-start -$(MV) ada/stamp-* stagefeedback/ada lang_checks += check-gnat +lang_checks_parallelized += check-gnat +# For description see the check_$lang_parallelize comment in gcc/Makefile.in. +check_gnat_parallelize = 1000 check-ada: check-acats check-gnat check-ada-subtargets: check-acats-subtargets check-gnat-subtargets