[RFC][PATCH] Rerun benchmarks only if *.out file does not exist.
Steve Ellcey
sellcey@cavium.com
Fri Sep 22 23:42:00 GMT 2017
While doing some benchmarking on glibc I noticed a difference between
'make check' and 'make bench'.  If you rerun 'make check' after having
run it once already, it will only rerun tests where the *.out file does
not exist.  This is useful (as explained in the glibc Wiki) because you
can rerun one test by removing just that .out file and running 'make check'.
With 'make bench' it reruns all the benchmarks each time you do 'make bench'
even if the .out files exist.  I was thinking that it would be nice to
have this follow the 'make check' behaviour, then if you only want to retest
one test (because you are doing performance changes on one function), you
can just remove that .out file and run 'make bench'.  Right now there does
not seem to be a way to run one performance benchmark.
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.
Steve Ellcey
sellcey@cavium.com
2017-09-22  Steve Ellcey  <sellcey@cavium.com>
* benchtests/Makefile (bench-set): Only run if *.out file
does not exist.
(bench-malloc): Likewise.
(bench-func): Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: glibc-bench.patch
Type: text/x-patch
Size: 2273 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20170922/580385fc/attachment.bin>
More information about the Libc-alpha
mailing list