Simplify/speed up assertion cross-check in ginCompressPostingList().
I noticed while testing some other stuff that the CHECK_ENCODING_ROUNDTRIP logic in ginCompressPostingList could account for over 50% of the runtime of an INSERT with a GIN index. While that's not relevant to production performance, it's still kind of annoying in a debug build. Replacing the loop around short memcmp's with one long memcmp works just as well and is significantly faster, at least on my machine.
This commit is contained in:
parent
7e39b968f1
commit
ea7dace2aa
@ -266,11 +266,9 @@ ginCompressPostingList(const ItemPointer ipd, int nipd, int maxsize,
|
||||
{
|
||||
int ndecoded;
|
||||
ItemPointer tmp = ginPostingListDecode(result, &ndecoded);
|
||||
int i;
|
||||
|
||||
Assert(ndecoded == totalpacked);
|
||||
for (i = 0; i < ndecoded; i++)
|
||||
Assert(memcmp(&tmp[i], &ipd[i], sizeof(ItemPointerData)) == 0);
|
||||
Assert(memcmp(tmp, ipd, ndecoded * sizeof(ItemPointerData)) == 0);
|
||||
pfree(tmp);
|
||||
}
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user