On Sat, 24 Feb 2001, Tom Lane wrote:
> > Here is a patch against 7.1beta5 to use mmap(), and thus a
> > single write, to initialise xlogs. It may well improve
> > performance of this on platforms/filesystems which write
> > metadata synchronously.
>
> Have you *demonstrated* any actual performance improvement from this?
> How much? On what platforms?
Forgive me if I posted it to the wrong place -- I was far from
proposing this for inclusion. It is but a small step on the
way to my plan of mmap()ifying all of the WAL stuff (which may
also prove a waste of effort).
On Linux 2.4 w/asynchronous ext2, it's good for about 5%, which
certainly wouldn't alone be worth the effort. I tried synchronous
ext2, but the numbers were so poor with both that nobody who cared
about performance would be using it (1.2 sec per file, vs. over a
minute).
I don't have access to any kind machine running UFS/FFS. Perhaps
someone on the list might do me the favour of trying the attached
test on such a platform with synchronous metadata writes (see top
of file for #ifdefs).
> I don't believe in adding unportable alternative implementations
> without pretty darn compelling reasons ...
mmap() is hardly unportable. From a quick look, all the current
names in include/port/ (which must surely make up a vast majority
of deployed recent postgresql versions) except QNX and Win32 can
support POSIX mmap.
Thanks for the reply,
Matthew.