From owner-freebsd-current@FreeBSD.ORG Sun Sep 16 11:32:27 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 001A8106566B; Sun, 16 Sep 2012 11:32:26 +0000 (UTC) (envelope-from dimitry@andric.com) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) by mx1.freebsd.org (Postfix) with ESMTP id 9FEB68FC08; Sun, 16 Sep 2012 11:32:26 +0000 (UTC) Received: from [192.168.0.6] (spaceball.home.andric.com [192.168.0.6]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 06A7C5C37; Sun, 16 Sep 2012 13:32:24 +0200 (CEST) Message-ID: <5055B8C7.4030601@andric.com> Date: Sun, 16 Sep 2012 13:32:23 +0200 From: Dimitry Andric User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20120905 Thunderbird/16.0 MIME-Version: 1.0 To: Garrett Cooper References: <50550285.4040203@andric.com> <20120916051909.GI37286@deviant.kiev.zoral.com.ua> In-Reply-To: Content-Type: multipart/mixed; boundary="------------040306000003090409000501" Cc: Konstantin Belousov , freebsd-current@freebsd.org, freebsd-toolchain@freebsd.org Subject: Re: Compiler performance tests on FreeBSD 10.0-CURRENT X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Sep 2012 11:32:27 -0000 This is a multi-part message in MIME format. --------------040306000003090409000501 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 2012-09-16 07:25, Garrett Cooper wrote: ... > If you can provide the tests, I can rerun it on some Nehalem class > workstations I have access to. I unfortunately don't have access to > SNB/Romley hardware yet. I did these tests as follows: - Install a recent -CURRENT snapshot on the box (or rebuild world and kernel by hand and install them). - Install Subversion. - Checkout head sources into /usr/src, if not already there. - Build GENERIC kernel with gcc, using default settings, and install it into /boot/kernel.gcc. - Build GENERIC kernel with clang, using default settings, and install it into /boot/kernel.clang. - Boot machine with either kernel, then run the attached runtest.sh script, with the buildworld_{single,multi}.sh scripts in the same directory. Save the resulting run-*.txt files in a directory that indicates whether the kernel in use was built by gcc or by clang. You can tweak the 'num_runs' variable at the top of runtest.sh to do more runs, if the machine is fast. This should give more confidence in the final statistics. I did just 3 runs on Gavin's machine, since it took more than 7 hours for a single-threaded buildworld to complete. Doing 6 runs should be more than enough. The run-*.txt files contain the time(1) output of each run, and should be processed through ministat to give average, stddev and so on. Just send them to me, I will process them and summarize the statistics. Alternatively, you can give me remote access, and I'll do it. :) --------------040306000003090409000501 Content-Type: text/plain; charset=windows-1252; name="runtest.sh" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="runtest.sh" #!/bin/sh mypath="${0%/*}" num_runs=3 set -e do_runtest() { for i in $(jot ${num_runs}); do rm -rf /usr/obj/* sync echo "Doing build $1, run $i..." /usr/bin/time -l -o run-$1-$i.txt ${mypath}/build$1.sh > run-$1-$i.log head -1 run-$1-$i.txt done } do_runtest world_single do_runtest world_multi --------------040306000003090409000501 Content-Type: text/plain; charset=windows-1252; name="buildworld_single.sh" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="buildworld_single.sh" #!/bin/sh set -e cd /usr/src make -s buildworld --------------040306000003090409000501 Content-Type: text/plain; charset=windows-1252; name="buildworld_multi.sh" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="buildworld_multi.sh" #!/bin/sh set -e cd /usr/src make -s -j8 buildworld --------------040306000003090409000501--