
Sean Parent wrote:
ZUIDs <http://opensource.adobe.com/classadobe_1_1zuid__t.html>
Hmm, I guess I would think zuid should be its own little library. There is already a GUID in the vault which again might benefit from collaboration here:
http://www.boost-consulting.com/vault/index.php -- guid_v3.zip Interesting - this is not quite a conforming GUID (deviates in many of the same ways that ZUIDs do from the specification but I try to be honest and not call them GUIDs...
<http://www.uddi.org/pubs/draft-leach-uuids-guids-01.txt>
AFAICT the node ID in the boost code is purely dependent on the clock - this makes the entire ID uniqueness of the ID a function of time (making for a fairly high probability of collision). The ZUID code includes machine specific and process specific information in the node generation and has code to synchronize threads to avoid collisions from requesting IDs from separate threads at the same time.
Most people don't even bother with proper GUIDs nowadays, they just generate a cryptographic quality random number. The probability of a collision is "sufficiently low for most practical uses".