I've taken a look at: https://oxide.computer/blog/iddqd-unsafe, and I'm still curious: Why would someone prefer iddqd to a BTreeSet or HashSet? You say:
But that has the risk that the emails stored in the key and the value fall out of sync.
How would that happen?
What I see is a Map acting like a Set, which makes sense, if you really need access to keys for some reason, if, for instance, you want to dump all the borrowed keys at once, or something like that (?). But I suppose I am still failing to see the motivating purpose. Could you make this more concrete for me?
Example: "A HashSet would be too slow for our purposes because it would require loading an entire value into memory... (for some reason??)."
Perhaps I haven't read your post carefully enough. Perhaps you could direct me to what I may be missing?
I've taken a look at: https://oxide.computer/blog/iddqd-unsafe, and I'm still curious: Why would someone prefer iddqd to a BTreeSet or HashSet? You say:
How would that happen?
What I see is a Map acting like a Set, which makes sense, if you really need access to keys for some reason, if, for instance, you want to dump all the borrowed keys at once, or something like that (?). But I suppose I am still failing to see the motivating purpose. Could you make this more concrete for me?
Example: "A HashSet would be too slow for our purposes because it would require loading an entire value into memory... (for some reason??)."
Perhaps I haven't read your post carefully enough. Perhaps you could direct me to what I may be missing?