Slightly reorganize struct SnapshotData.
authorRobert Haas <rhaas@postgresql.org>
Sat, 7 Jan 2012 03:56:00 +0000 (22:56 -0500)
committerRobert Haas <rhaas@postgresql.org>
Sat, 7 Jan 2012 03:56:00 +0000 (22:56 -0500)
This squeezes out a bunch of alignment padding, reducing the size
from 72 to 56 bytes on my machine.  At least in my testing, this
didn't produce any measurable performance improvement, but the space
savings seem like enough justification.

Andres Freund

src/include/utils/snapshot.h

index 93c02fa42d3e4bdb665f9bb416e87d1e1fc26bec..900272e7043de33e592ec75aef5b984d449b7c40 100644 (file)
@@ -46,13 +46,14 @@ typedef struct SnapshotData
     */
    TransactionId xmin;         /* all XID < xmin are visible to me */
    TransactionId xmax;         /* all XID >= xmax are invisible to me */
-   uint32      xcnt;           /* # of xact ids in xip[] */
    TransactionId *xip;         /* array of xact IDs in progress */
+   uint32      xcnt;           /* # of xact ids in xip[] */
    /* note: all ids in xip[] satisfy xmin <= xip[i] < xmax */
    int32       subxcnt;        /* # of xact ids in subxip[] */
    TransactionId *subxip;      /* array of subxact IDs in progress */
    bool        suboverflowed;  /* has the subxip array overflowed? */
    bool        takenDuringRecovery;    /* recovery-shaped snapshot? */
+   bool        copied;         /* false if it's a static snapshot */
 
    /*
     * note: all ids in subxip[] are >= xmin, but we don't bother filtering
@@ -61,7 +62,6 @@ typedef struct SnapshotData
    CommandId   curcid;         /* in my xact, CID < curcid are visible */
    uint32      active_count;   /* refcount on ActiveSnapshot stack */
    uint32      regd_count;     /* refcount on RegisteredSnapshotList */
-   bool        copied;         /* false if it's a static snapshot */
 } SnapshotData;
 
 /*