mirror of
https://github.com/postgres/postgres.git
synced 2025-06-05 00:02:04 -04:00
Fix platform-specific performance regression in logtape.c.
Commit 24d85952 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
This commit is contained in:
parent
aa7927698a
commit
1fbb6c93df
@ -782,7 +782,7 @@ LogicalTapeWrite(LogicalTapeSet *lts, int tapenum,
|
||||
Assert(lt->buffer_size == BLCKSZ);
|
||||
while (size > 0)
|
||||
{
|
||||
if (lt->pos >= TapeBlockPayloadSize)
|
||||
if (lt->pos >= (int) TapeBlockPayloadSize)
|
||||
{
|
||||
/* Buffer full, dump it out */
|
||||
long nextBlockNumber;
|
||||
|
Loading…
x
Reference in New Issue
Block a user