Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 1fbb6c9

Browse files
committed
Fix platform-specific performance regression in logtape.c.
Commit 24d8595 made a change that indirectly caused a performance regression by triggering a change in the way GCC optimizes memcpy() on some platforms. The behavior seemed to contradict a GCC document, so I filed a report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95556 This patch implements a narrow workaround which eliminates the regression I observed. The workaround is benign enough that it seems unlikely to cause a different regression on another platform. Discussion: https://postgr.es/m/99b2eab335c1592c925d8143979c8e9e81e1575f.camel@j-davis.com
1 parent aa79276 commit 1fbb6c9

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/backend/utils/sort/logtape.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -782,7 +782,7 @@ LogicalTapeWrite(LogicalTapeSet *lts, int tapenum,
782782
Assert(lt->buffer_size == BLCKSZ);
783783
while (size > 0)
784784
{
785-
if (lt->pos >= TapeBlockPayloadSize)
785+
if (lt->pos >= (int) TapeBlockPayloadSize)
786786
{
787787
/* Buffer full, dump it out */
788788
long nextBlockNumber;

0 commit comments

Comments
 (0)