[Development] QUuid documentation
edward.welbourne at qt.io
Fri Sep 9 11:26:36 CEST 2016
>> However, my knowledge is that whatever the method one use to generate
>> your UUID, one can never guarantee its uniqueness. Meaning that the
>> Qt documentation is falsely guarantying unique UUID and therefore
>> should be changed.
>> If anyone can confirm, I'll create a bug report.
> Right, it's not guaranteed. It's just that the chance of collision is
> virtually zero.
... and for sufficiently small values of "virtually zero", that's as
close a guarantee as you'll get to anything, because no matter how well
you think you can guarantee things, cosmic rays still sporadically flip
bits in your memory.
I read a most illuminating paper a few years back that looked at the
reliability of tests of prime-ness for large numbers. There's a widely
used approach that's cheap and theoretically not guaranteed but easy to
apply to enough test-cases to reduce the likelihood of error to
ignorably low. This was compared to the best known "provably correct"
algorithm for determining primeness - which is significantly more
computationally expensive. Due to the (ridiculously rare) flipping of
bits by cosmic rays hitting the processor and memory, the latter was in
fact *less* reliable than the former, because the former ran faster so
incurred a smaller chance of errors due to stray rays.
I don't think we should worry about documenting how not-quite-perfect
our guarantee of UID uniqueness is in a case where - realistically -
the difference from perfection is ignorable.
More information about the Development