Date: Fri, 26 Oct 2001 14:57:42 -0400 From: Garance A Drosihn <drosih@rpi.edu> To: tlambert2@mindspring.com, Poul-Henning Kamp <phk@critter.freebsd.dk> Cc: arch@FreeBSD.ORG Subject: Re: 64 bit times revisited.. Message-ID: <p0510101db7ff501c2b27@[128.113.24.47]> In-Reply-To: <3BD993A6.E6B12512@mindspring.com> References: <2912.1004113233@critter.freebsd.dk> <3BD993A6.E6B12512@mindspring.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>Also: no one has ever justified this for anything other
>than "make", which looks only at mtime, so having such
>high resolution for atime and ctime is really not necessary,
>unless it can be justified.
>The "mtime" argument is really only valid in the case that
>you rerun a build in a subsecond time with generated source
>code, such that the generate code ends up with the same
>mtime timestamp as the previously generated object code. I
>fully admit that subsecond resolution on mtime is necessary
>to avoid stale files in the case that you can regenerate
>them with different contents in under a second since the
>previous build.
As an aside, let me make an observation about 'make'. It is
just an observation about 'make' and timestamps though. I
do completely support the idea of having higher-resolution
timestamps for many purposes, including 'mtime'.
However, when the specific example of 'make' comes up, I think
people are naive to think that even infinite-resolution
timestamps will fully address the issue of make. When 'make'
is processing it:
a) checks timestamps of source files vs target
b) noticed target is out-of-date.
c) executes commands to create the new target
d) at the end of all those commands, a new timestamp
is set on the target file.
Step c can be many commands, and can easily require millions
or billions of instructions. It can not be done in zero time.
If any *other* process changes any of the source files at the
same time that 'make' is doing steps b&c, then the target
should be remade, but the timestamp set in step d will be
"after" the change made to the source file.
So, we should have higher-resolution timestamps, but they
will not really solve all the problems of 'make'...
--
Garance Alistair Drosehn = gad@eclipse.acs.rpi.edu
Senior Systems Programmer or gad@freebsd.org
Rensselaer Polytechnic Institute or drosih@rpi.edu
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?p0510101db7ff501c2b27>
