Skip to content

Removal of SPSC slot padding #206

@mrabine

Description

@mrabine

Description:

QueueSlotLight currently pads each slot to 64 bytes to prevent false sharing between adjacent slots. In SPSC, the producer and consumer never access the same slot concurrently, making this padding unnecessary.

For small types (e.g. uint32_t), this inflates each slot by 16× and forces the working set to spill from L1 to L2 then L3 as queue depth grows, destroying hardware prefetcher efficiency.

Acceptance criteria:

  • QueueSlotLight contains only data, no padding member
  • QueueSlotFull padding is preserved unchanged

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No fields configured for Bug.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions