NVIDIA/cuCollections

Enable opt-out for bitwise comparable payload requirement

sleeepyjack opened this issue · 0 comments

Background

We currently require payload types to be bitwise comparable, which is required when we use the "packed CAS" insertion strategy.

Discussion from #426:

we could consider skipping the packed-CAS code path when is_bitwise_comparable_v(Key) && !is_bitwise_comparable_v(Value)

I'd rather keep performance-related settings as an opt-out rather than opt-in, i.e., we could add a global flag CUCO_REQUIRE_BITWISE_COMPARABLE_PAYLOADS which is on by default but can be turned off by the user.

This, of course, should be documented with an example.

Originally posted by @sleeepyjack in #426 (comment)