From: | Denis Perchine <dyp(at)perchine(dot)com> |
---|---|
To: | pgsql-patches(at)postgresql(dot)org |
Subject: | Patch for Re: [HACKERS] Caching number of blocks in relation to avoi lseek. |
Date: | 2000-06-13 08:19:52 |
Message-ID: | 00061315252504.00525@dyp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
> Oh. Hmm. Not sure if it's really worth the trouble, but you could try
> having fd.c keep track of the current seek position of VFDs when they
> are open as well as when they are closed, and optimize away the lseek
> call in FileSeek if the position is already right. You'd have to think
> carefully about what to do if a read or write fails, however --- where
> has the kernel left its seek position in that case? Possibly this could
> be dealt with by setting the internal position to "unknown" anytime
> we're not perfectly sure where the kernel is.
If read or write fails. Position will left the same. This situation is already tracked
in File routines, but a little bit incorrectly.
Here is the full patch for this. This patch reduce amount of lseek call ten times
for update statement and twenty times for select statement. I tested joined update
and count(*) select for table with rows > 170000 and 10 indices.
I think this is worse of trying. Before lseek calls account for more than 5% of time.
Now they are 0.89 and 0.15 respectevly.
Due to only one file modification patch should be applied in src/backedn/storage/file/ dir.
--
Sincerely Yours,
Denis Perchine
----------------------------------
E-Mail: dyp(at)perchine(dot)com
HomePage: http://www.perchine.com/dyp/
FidoNet: 2:5000/120.5
----------------------------------
Attachment | Content-Type | Size |
---|---|---|
fd.c.patch | text/plain | 1.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Oleg Broytmann | 2000-06-13 08:29:41 | Re: setproctitle |
Previous Message | Bruce Momjian | 2000-06-13 08:09:23 | Re: memory management suggestion |
From | Date | Subject | |
---|---|---|---|
Next Message | Denis Perchine | 2000-06-13 08:37:58 | Patch 0.2 for Re: [HACKERS] Caching number of blocks in relation to avoi lseek. |
Previous Message | Bruce Momjian | 2000-06-13 07:48:05 | Re: Patches for SGI IRIX 6.x |