Lists: | pgsql-performance |
---|
From: | "Magnus Hagander" <mha(at)sollentuna(dot)net> |
---|---|
To: | "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu> |
Cc: | "Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com>, <pgsql-performance(at)postgresql(dot)org> |
Subject: | Re: insert performance for win32 |
Date: | 2005-11-03 20:39:27 |
Message-ID: | 6BCB9D8A16AC4241919521715F4D8BCE92E7F1@algol.sollentuna.se |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-performance |
> > Sorry, I don't follow you here - what do you mean to do? Remove the
> > event completely so we can't wait on it?
> >
>
> I'd like to use the win32 provided recv(), send() functions
> instead of redirect them to pgwin32_recv()/pgwin32_send(),
> just like libpq does. If we do this, we will lose some
> functionalities, but I'd like to see the performance
> difference first. -- do you think that will be any difference?
Doesn't work, really. It will no longer be possible to send a signal to
an idle backend. The idle backend will be blocking on recv(), that's how
it works. So unless we can get around that somehow, it's a non-starter I
think.
I doubt there will be much performance difference, as you hav eto hit
the kernel anyway (in the recv/send call). But that part is just a guess
:-)
//Magnus
From: | Qingqing Zhou <zhouqq(at)cs(dot)toronto(dot)edu> |
---|---|
To: | Magnus Hagander <mha(at)sollentuna(dot)net> |
Cc: | Merlin Moncure <merlin(dot)moncure(at)rcsonline(dot)com>, pgsql-performance(at)postgresql(dot)org |
Subject: | Re: insert performance for win32 |
Date: | 2005-11-03 21:06:32 |
Message-ID: | Pine.LNX.4.58.0511031603340.21599@eon.cs |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-performance |
On Thu, 3 Nov 2005, Magnus Hagander wrote:
> > > Sorry, I don't follow you here - what do you mean to do? Remove the
> > > event completely so we can't wait on it?
> > >
> >
> > I'd like to use the win32 provided recv(), send() functions
> > instead of redirect them to pgwin32_recv()/pgwin32_send(),
> > just like libpq does. If we do this, we will lose some
> > functionalities, but I'd like to see the performance
> > difference first. -- do you think that will be any difference?
>
> Doesn't work, really. It will no longer be possible to send a signal to
> an idle backend. The idle backend will be blocking on recv(), that's how
> it works. So unless we can get around that somehow, it's a non-starter I
> think.
Yeah, agreed. An alternative is set tiemout like 100 ms or so. When
timeout happens, check the signals. But I guess you will be strongly
against it.
>
> I doubt there will be much performance difference, as you hav eto hit
> the kernel anyway (in the recv/send call). But that part is just a guess
> :-)
I know what you mean ... I will take a look -- if the patch (not
including fix signaling problem), if doesn't change much, I will give it a
try.
Regards,
Qingqing
From: | "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu> |
---|---|
To: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: insert performance for win32 |
Date: | 2005-11-04 22:17:21 |
Message-ID: | dkgml0$gch$1@news.hub.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-performance |
""Magnus Hagander"" <mha(at)sollentuna(dot)net> wrote
>>
>> I'd like to use the win32 provided recv(), send() functions
>> instead of redirect them to pgwin32_recv()/pgwin32_send(),
>> just like libpq does. If we do this, we will lose some
>> functionalities, but I'd like to see the performance
>> difference first. -- do you think that will be any difference?
>
> I doubt there will be much performance difference, as you hav eto hit
> the kernel anyway (in the recv/send call). But that part is just a guess
> :-)
>
On a separate line -- I verified Magnus's doubt -- revert pgwin32_recv() to
recv() does not improve performance visiblly.
Regards,
Qingqing