This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [RFC][PATCH] Rerun benchmarks only if *.out file does not exist.
- From: Siddhesh Poyarekar <siddhesh at gotplt dot org>
- To: sellcey at cavium dot com, libc-alpha <libc-alpha at sourceware dot org>
- Date: Wed, 27 Sep 2017 00:14:52 +0530
- Subject: Re: [RFC][PATCH] Rerun benchmarks only if *.out file does not exist.
- Authentication-results: sourceware.org; auth=none
- References: <1506123735.2286.174.camel@cavium.com> <1506359876.18449.4.camel@cavium.com>
On Monday 25 September 2017 10:47 PM, Steve Ellcey wrote:
>> Two questions: One, does this sound useful to other people? And two, what
>> is wrong with my patch? This patch mostly works but the bench-memcpy,
>> bench-memcpy-large, and bench-memcpy-random tests get rerun everytime even
>> if the .out files for those tests already exist. I don't know why. I am
>> guessing is thas something to do with their common name prefix and the string
>> manipulations done to test names in the Makefile but memset does not seem
>> to have that problem.
<snip>
>
> Well, you can ignore the question about what is wrong with the patch, I
> was removing the memcpy*.out files and that was why they got rerun. I
> didn't see the rm command in my script and got confused.
>
> While testing my changes I noticed that 'make bench-clean' does not
> remove the *.out files. It removes the executables and object files
> but not the *.out result files. So with my change 'make bench; make
> bench-clean; make bench' resulted in the benchmarks getting rebuilt but
> not rerun. I don't know if the decision to not remove *.out files was
> intentional or an oversight.
That is intentional, so is the decision to re-run benchmarks despite the
presence of the *.out files. In fact there's a different kind of bug
there, which is that the current .out file should be backed up like the
main bench.out is to bench.out.old and I may have missed doing that for
string benchmarks. That provides a convenient way to do before-after
comparison for patches.
If you want to run only specific benchmarks or benchsets, I suggest
making that a command line parameter, something like:
make BENCHSETS=string-benchset
or
make BENCH="sin cos asin acos"
Siddhesh