From: | "Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com> |
---|---|
To: | "Magnus Hagander" <mha(at)sollentuna(dot)net> |
Cc: | "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [PATCHES] Win32 CHECK_FOR_INTERRUPTS() performance |
Date: | 2005-10-24 14:26:41 |
Message-ID: | 6EE64EF3AB31D5448D0007DD34EEB3417DD683@Herge.rcsinc.local |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
OK, running the latest patch. Observations:
1. Confirmed that time for count(*) on narrow sets is greatly improved:
A real easy way to show this off is:
select count(*) from generate_series(1,(10^6)::integer);
with about a 60% drop in time on my XP box.
2. Did ISAM style record iteration over relatively large (50k records)
bill of materials. This was previous test where I reported no
performance gain...for a single user (n=1). For n=6, I am seeing about
a 20% reduction in the overall running time of the test, and a greatly
improved overall responsiveness of the server while running the test.
I tested this by doing select * from medium_sized_table while 6 backends
were busy feeding records to the ISAM app. While pg under 0 load might
serve the table in one second, with the n=6 test running the time might
(on win32) take 5 minutes. On linux, the worst case time was around
1/(n*2). Qingqing's patch brings win32 much closer to linux!
3. A pl/pgsql function stuck in a empty loop is unkillable except by
killing the process on the server, which cycles the entire server. This
was the behavior before the patch, btw.
I ran tests for about an hour, randomly killing/canceling backends
without any problems.
Merlin
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2005-10-24 14:34:50 | Re: Question about Ctrl-C and less |
Previous Message | Andrew Dunstan | 2005-10-24 13:34:27 | Re: Question about Ctrl-C and less |