| From: | a_ogawa <a_ogawa(at)hi-ho(dot)ne(dot)jp> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | pgsql-patches(at)postgresql(dot)org |
| Subject: | Re: WIP: avoiding tuple construction/deconstruction overhead |
| Date: | 2005-03-17 14:20:18 |
| Message-ID: | PIEMIKOOMKNIJLLLBCBBOEHBCFAA.a_ogawa@hi-ho.ne.jp |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-patches |
Tom Lane wrote:
> Attached is the current state of a patch to reduce the overhead of
> passing tuple data up through many levels of plan nodes.
It is a good idea.
I think that this patch improves performance of the whole executor.
I have three comments.
(1)We can improve compare_heap() by using TableTupleSlot instead of
HeapTuple. Please see attached patch.
(2)In ExecStoreTuple(), we can omit initialization of slot->tts_nvalid.
If slot->tts_isempty is false, tts_nvalid is initialized by
ExecClearTuple(). If it is true, tts_nvalid is always zero.
(3)There is a description of slot->val in comment of execTuple.c.
This had better revise it.
> Finally, I have made some progress towards making the tuple access
> routines consistently use "bool isNull" arrays as null markers, instead
> of the char 'n' or ' ' convention that was previously used in some but
> not all contexts.
I agree. I think that this progress improves readability.
regards,
--- Atsushi Ogawa
| Attachment | Content-Type | Size |
|---|---|---|
| compare_heap.patch | application/octet-stream | 3.0 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2005-03-17 14:51:50 | Re: WIP: avoiding tuple construction/deconstruction overhead |
| Previous Message | Karel Zak | 2005-03-17 09:50:51 | Re: [BUGS] CC Date format code defaults to current centry |