Re: Add LogicalTapeSetExtend() to logtape.c

2020-03-07 Thread Jeff Davis
On Wed, 2020-03-04 at 12:06 -0800, Jeff Davis wrote: > I tracked the problem down. Because of the name _FORTIFY_SOURCE, I got somewhat concerned that this change (logtape-20200303) was somehow interfering with a safety mechanism in the compiler. There's a mechanism in GCC called object size

Re: Add LogicalTapeSetExtend() to logtape.c

2020-03-04 Thread Jeff Davis
On Wed, 2020-03-04 at 11:57 +0800, Adam Lee wrote: > Master(e537aed61d): 13342.844 ms 13195.982 ms 13271.023 ms > With my patch(a pointer): 13020.029 ms 13008.158 ms 13063.658 ms > With your patch(flexible array): 12870.117 ms 12814.725 ms 13119.255 > ms I tracked the problem down. When we

Re: Add LogicalTapeSetExtend() to logtape.c

2020-03-03 Thread Adam Lee
On Tue, Mar 03, 2020 at 08:46:24AM -0800, Jeff Davis wrote: > On Tue, 2020-03-03 at 09:49 +0800, Adam Lee wrote: > > Master: 12729ms 12970ms 12999ms > > With my patch(a pointer): 12965ms 13273ms 13116ms > > With your patch(flexible array): 12906ms 12991ms 13043ms > > Hmm.. looks like you didn't

Re: Add LogicalTapeSetExtend() to logtape.c

2020-03-03 Thread Jeff Davis
On Tue, 2020-03-03 at 09:49 +0800, Adam Lee wrote: > Master: 12729ms 12970ms 12999ms > With my patch(a pointer): 12965ms 13273ms 13116ms > With your patch(flexible array): 12906ms 12991ms 13043ms Hmm.. looks like you didn't reproduce the difference I saw. What compiler/version? Regards,

Re: Add LogicalTapeSetExtend() to logtape.c

2020-03-02 Thread Adam Lee
On Fri, Feb 28, 2020 at 12:38:55PM -0800, Jeff Davis wrote: > On Fri, 2020-02-28 at 14:16 +0800, Adam Lee wrote: > > I noticed another difference, I was using palloc0(), which could be > > one of the > > reason, but not sure. > > I changed the palloc0()'s in your code to plain palloc(), and it

Re: Add LogicalTapeSetExtend() to logtape.c

2020-02-28 Thread Jeff Davis
On Fri, 2020-02-28 at 14:16 +0800, Adam Lee wrote: > I noticed another difference, I was using palloc0(), which could be > one of the > reason, but not sure. I changed the palloc0()'s in your code to plain palloc(), and it didn't make any perceptible difference. Still slower than the version I

Re: Add LogicalTapeSetExtend() to logtape.c

2020-02-27 Thread Adam Lee
On Thu, Feb 27, 2020 at 01:01:08PM -0800, Jeff Davis wrote: > Attached is a patch that exports a new function from logtape.c: > >extern LogicalTapeSet *LogicalTapeSetExtend( > LogicalTapeSet *lts, int nAdditional); > > The purpose is to allow adding new tapes dynamically for the

Add LogicalTapeSetExtend() to logtape.c

2020-02-27 Thread Jeff Davis
Attached is a patch that exports a new function from logtape.c: extern LogicalTapeSet *LogicalTapeSetExtend( LogicalTapeSet *lts, int nAdditional); The purpose is to allow adding new tapes dynamically for the upcoming Hash Aggregation work[0]. HashAgg doesn't know in advance how