Hi.
I wanted to see this difference. It is somewhat ad hoc.
However, It is more effective than it doesn't show it at all.
-- MinGW(win32) --
$ test_fsync
Simple write timing:
write 3.644000
Compare fsync times on write() and non-write() descriptor:
(If the times are similar, fsync() can sync data written
on a different descriptor.)
write, fsync, close 40.543000
write, close, fsync 47.033000
Compare one o_sync write to two:
(o_sync unavailable)
open o_dsync, write 0.094000
(fdatasync unavailable)
write, fsync, 26.700000
Compare file sync methods with 2 8k writes:
open o_dsync, write 0.203000
(fdatasync unavailable)
write, fsync, 27.920000
Regards,
Hiroshi Saito