Date: Sun, 16 Sep 2012 13:32:23 +0200 From: Dimitry Andric <dimitry@andric.com> To: Garrett Cooper <yanegomi@gmail.com> Cc: Konstantin Belousov <kostikbel@gmail.com>, freebsd-current@freebsd.org, freebsd-toolchain@freebsd.org Subject: Re: Compiler performance tests on FreeBSD 10.0-CURRENT Message-ID: <5055B8C7.4030601@andric.com> In-Reply-To: <CAGH67wSQ7OgOc%2BcRTey30hV2ouuh9XCTMbypFTjcsTWY5w%2B-8Q@mail.gmail.com> References: <50550285.4040203@andric.com> <20120916051909.GI37286@deviant.kiev.zoral.com.ua> <CAGH67wSQ7OgOc%2BcRTey30hV2ouuh9XCTMbypFTjcsTWY5w%2B-8Q@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5055B8C7.4030601>