aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@redhat.com>2013-04-03 14:20:56 +0530
committerSiddhesh Poyarekar <siddhesh@redhat.com>2013-04-03 15:52:16 +0530
commit90d5d5bbd8a6d41926c8bb6ac9f367bf956c623f (patch)
treec18d6ba8ae7dc505f5338b8c406bc7faae93a506
parent73e0cd5d0de276a6c41c78920ff79d8e11991240 (diff)
downloadglibc-90d5d5bbd8a6d41926c8bb6ac9f367bf956c623f.zip
glibc-90d5d5bbd8a6d41926c8bb6ac9f367bf956c623f.tar.gz
glibc-90d5d5bbd8a6d41926c8bb6ac9f367bf956c623f.tar.bz2
Update bench.out and bench.out.old only upon completion
Write output from the currently running benchmark into a temporary file and move files around only once the current run is complete. That way we don't lose data from the last two runs due to an incomplete run.
-rw-r--r--ChangeLog2
-rw-r--r--Rules11
2 files changed, 8 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index bb6fc28..78a0fa3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2013-04-03 Siddhesh Poyarekar <siddhesh@redhat.com>
+ * Rules (bench): Move bench.out after the run is complete.
+
* Rules (bench): Echo currently running benchmark.
* benchtests/Makefile (bench): Add atan and slowatan.
diff --git a/Rules b/Rules
index 9ad1d11..d4a0027 100644
--- a/Rules
+++ b/Rules
@@ -197,13 +197,14 @@ run-bench = $(test-wrapper-env) \
$($*-ENV) $(run-via-rtld-prefix) $${run}
bench: $(binaries-bench)
- if [ -f $(objpfx)bench.out ]; then \
- mv -f $(objpfx)bench.out $(objpfx)bench.out.old; \
- fi
for run in $^; do \
echo "Running $${run}"; \
- eval $(run-bench) >> $(objpfx)bench.out; \
- done
+ eval $(run-bench) >> $(objpfx)bench.out-tmp; \
+ done; \
+ if [ -f $(objpfx)bench.out ]; then \
+ mv -f $(objpfx)bench.out $(objpfx)bench.out.old; \
+ fi; \
+ mv -f $(objpfx)bench.out-tmp $(objpfx)bench.out
$(binaries-bench): %: %.o \
$(sort $(filter $(common-objpfx)lib%,$(link-libc))) \