From: | Marko Kreen <markokr(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Bruce Momjian <bruce(at)momjian(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: pg_test_fsync performance |
Date: | 2012-02-14 23:35:05 |
Message-ID: | 20120214233505.GA30326@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Feb 14, 2012 at 05:59:06PM -0500, Tom Lane wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
> > On Mon, Feb 13, 2012 at 08:28:03PM -0500, Tom Lane wrote:
> >> +1, I was about to suggest the same thing. Running any of these tests
> >> for a fixed number of iterations will result in drastic degradation of
> >> accuracy as soon as the machine's behavior changes noticeably from what
> >> you were expecting. Run them for a fixed time period instead. Or maybe
> >> do a few, then check elapsed time and estimate a number of iterations to
> >> use, if you're worried about the cost of doing gettimeofday after each
> >> write.
>
> > Good idea, and it worked out very well. I changed the -o loops
> > parameter to -s seconds which calls alarm() after (default) 2 seconds,
> > and then once the operation completes, computes a duration per
> > operation.
>
> I was kind of wondering how portable alarm() is, and the answer
> according to the buildfarm is that it isn't.
I'm using following simplistic alarm() implementation for win32:
https://github.com/markokr/libusual/blob/master/usual/signal.c#L21
this works with fake sigaction()/SIGALARM hack below - to remember
function to call.
Good enough for simple stats printing, and avoids win32-specific
code spreading around.
--
marko
From | Date | Subject | |
---|---|---|---|
Next Message | Dan Ports | 2012-02-15 00:24:32 | Re: SSI rw-conflicts and 2PC |
Previous Message | Tom Lane | 2012-02-14 22:59:06 | Re: pg_test_fsync performance |