From: Andy (atompkins_at_[hidden])
Date: 2007-05-09 15:10:27
"Jake Voytko" <jakevoytko_at_[hidden]> wrote in
> Short answer: Accept, so long as issues with the create() function are
> worked out.
< snip >
> - What is your evaluation of the documentation?
> I felt that for such a minimal library, I had to dig too much for the
> first usable code example, which is generally the first thing I look
> for when using a new library.
I will create an intro section that shows common uses.
> - What is your evaluation of the potential usefulness of the library?
> In environments where only a single machine generates the IDs, it is
> extremely useful. However, as others have mentioned, in
> guid::create(), seeding the random number generator with time(0)
> certainly negates the primary reason to use GUIDs at all, as in a
> multiple machine environment it's no longer possible to guarantee that
> the IDs are unique. I feel that this contradicts the entire reason I
> would look for an outside library to generate GUIDs rather than do the
> legwork towards implementing one myself. The documentation for the
> library touts concurrency-heavy applications in its rationale section,
> but it seems concurrency issues would be introduced by time(0)
See other posts. This will be fixed by passing a random number generator
to the create function.
> I liked the suggestion of MAC address + time generation, but I don't
> know how feasible this would be to accomplish in multiple operating
> systems with the same implementation. Even simpler, the user could
> have the option of giving the random number generator their own seed.
> Simply skipping it could stick with time(0), but if they know they
> could run into concurrency issues, they could provide their own
< snip >
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk