[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#60746] [PATCH] dirstamp: use append too instead of truncate
From: |
Mike Frysinger |
Subject: |
[bug#60746] [PATCH] dirstamp: use append too instead of truncate |
Date: |
Wed, 11 Jan 2023 22:02:11 -0500 |
We changed the depfiles logic to use >> (append) instead of > (truncate)
due to it being slightly faster & nicer to the disk. Do the same with
the dirstamp files as we only need the files to exist -- we don't care
about their content, and we never put anything in them ourselves. If
someone else were to, we clean them up normally with `make clean`.
Simple test case on my Linux 6.1 w/ext4 on SSD:
@: > foo.txt
for (i = 0; i < 1000000; ++i) close(open("foo.txt", O_WRONLY|O_CREAT|O_TRUNC,
0666));
-> 769 msec
@: >>foo.txt
for (i = 0; i < 1000000; ++i) close(open("foo.txt", O_WRONLY|O_CREAT|O_APPEND,
0666));
-> 2 sec
---
bin/automake.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bin/automake.in b/bin/automake.in
index 3069132796f1..1c13a3187f46 100644
--- a/bin/automake.in
+++ b/bin/automake.in
@@ -7902,7 +7902,7 @@ sub require_build_directory
$output_rules .= ("$dirstamp:\n"
. "\t\@\$(MKDIR_P) $directory\n"
- . "\t\@: > $dirstamp\n");
+ . "\t\@: >>$dirstamp\n");
return $dirstamp;
}
--
2.39.0
- [bug#60746] [PATCH] dirstamp: use append too instead of truncate,
Mike Frysinger <=