-
Notifications
You must be signed in to change notification settings - Fork 58
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
The current bitset implementation operator&
performance and storage memory scales linearly with the number of callbacks.
An alternative RLE bitset implementation can provide better than linear scaling in both performance and memory.
The following guidelines should be followed to ensure efficient design:
- RLE bitset construction must be constexpr.
- Each RLE bitset struct must fit within a machine register or less. The struct itself should contain an offset into the shared RLE data table and a length.
- Storage for the RLE bitset must be allocated outside of the RLE bitset element itself. The base pointer of the RLE data table is known to the RLE bitset at compile time (passed as template parameter, for example.) Multiple RLE bitset instances may share the same RLE data table, but can contain different offsets and lengths. Multiple RLE bitsets may share overlapping or identical spans of the table.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request