This will produce different behavior with hard links. With hard links,
the temporary file mechanism you mention will result in the old file
being accessible via the other path. With your recommended strategy, the
data accessible from both paths is updated.
That's probably acceptable, and hard links aren't used that much anyway.
Obviously, if you have to overwrite large portions of the file, it's
going to be faster to just write it. This is just for cases when you can
get speedups down the line by not updating write timestamps, or when you
know a large portion of the file is unchanged and the file is cached, or
you're using a disk that sucks at writing data.