
Hi,
Wouldn't adding the process (or thread) ID to the mix help in this case?
Can you expand on what you mean by "mix"? What I was trying to say is that GUIDs with MAC address and system time have 14 bit field "clock sequence" field. The system clock resolution can be as much as ten milliseconds, during which the generator needs to be able to produce 16384 unique values. If the apps can require many GUIDs very rapidly or have weird herding effects as ours did, that just translates to near-impossible problem to solve, no matter what the sequence generator uses as source. (A system wide sequence generator could guarantee uniqueness by waiting to next clock tick on overflow. If you are writing your own code, you probably don't have one of those.) In our case the end result was something like a clash a month, and at worst several conflicts per week. Lassi