On Mon, Nov 29, 2010 at 9:24 AM, Andres Freund <and...@anarazel.de> wrote: > On Monday 29 November 2010 17:57:51 Robert Haas wrote: >> On Sun, Nov 28, 2010 at 11:51 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: >> > Robert Haas <robertmh...@gmail.com> writes: >> >> Yeah, very true. What's a bit frustrating about the whole thing is >> >> that we spend a lot of time pulling data into the caches that's >> >> basically static and never likely to change anywhere, ever. >> > >> > True. I wonder if we could do something like the relcache init file >> > for the catcaches. >> >> Maybe. It's hard to know exactly what to pull in, though, nor is it >> clear to me how much it would really save. You've got to keep the >> thing up to date somehow, too. >> >> I finally got around to doing some testing of >> page-faults-versus-actually-memory-initialization, using the attached >> test program, compiled with warnings, but without optimization. >> Typical results on MacOS X: >> >> first run: 297299 >> second run: 99653 >> >> And on Fedora 12 (2.6.32.23-170.fc12.x86_64): >> >> first run: 509309 >> second run: 114721 > Hm. A quick test shows that its quite a bit faster if you allocate memory > with: > size_t s = 512*1024*1024; > char *bss = mmap(0, s, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_POPULATE| > MAP_ANONYMOUS, -1, 0);
Could you post the program? Are you sure you haven't just moved the page-fault time to a part of the code where it still exists, but just isn't being captured and reported? Cheers, Jeff -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers