<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>GUIDs are globally unique, but substrings of GUIDs aren't</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx</link><description>Half of a GUID is worse than none.</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Interesting Links 7/09/2007</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx#8712437</link><pubDate>Wed, 09 Jul 2008 15:38:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8712437</guid><dc:creator>Matt Johnson's Technical Adventures</dc:creator><description>&lt;p&gt;The list is a little longer today because of not posting last week. Enjoy! Microsoft Advanced Windows&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8712437" width="1" height="1"&gt;</description></item><item><title>re: GUIDs are globally unique, but substrings of GUIDs aren't</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx#8685886</link><pubDate>Fri, 04 Jul 2008 01:29:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8685886</guid><dc:creator>SuperKoko</dc:creator><description>&lt;p&gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;Your reduced GUID format is a good idea, not used often enough, but it makes one more assumption... that there is only one thread or process running on each computer.&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;No. It just assumes that you use only one generator function (e.g. in a dynamic or static library). In that case, it's free to use shared variables and mutexes to safely manager GUIDs generation.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8685886" width="1" height="1"&gt;</description></item><item><title>re: GUIDs are globally unique, but substrings of GUIDs aren't</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx#8683326</link><pubDate>Thu, 03 Jul 2008 13:03:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8683326</guid><dc:creator>Andy R</dc:creator><description>&lt;p&gt;Your reduced GUID format is a good idea, not used often enough, but it makes one more assumption... that there is only one thread or process running on each computer.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8683326" width="1" height="1"&gt;</description></item><item><title>The GUID Guide &amp;laquo; SQL Dev&amp;#8217;s Playground</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx#8675799</link><pubDate>Tue, 01 Jul 2008 10:46:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8675799</guid><dc:creator>The GUID Guide &amp;laquo; SQL Dev&amp;#8217;s Playground</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://sqldev.wordpress.com/2008/07/01/the-guid-guide/"&gt;http://sqldev.wordpress.com/2008/07/01/the-guid-guide/&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8675799" width="1" height="1"&gt;</description></item><item><title>Reflective Perspective - Chris Alcock  &amp;raquo; The Morning Brew #126</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx#8675673</link><pubDate>Tue, 01 Jul 2008 10:04:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8675673</guid><dc:creator>Reflective Perspective - Chris Alcock  &amp;raquo; The Morning Brew #126</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://blog.cwa.me.uk/2008/07/01/the-morning-brew-126/"&gt;http://blog.cwa.me.uk/2008/07/01/the-morning-brew-126/&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8675673" width="1" height="1"&gt;</description></item><item><title>re: GUIDs are globally unique, but substrings of GUIDs aren't</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx#8672006</link><pubDate>Mon, 30 Jun 2008 20:46:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8672006</guid><dc:creator>mikeb</dc:creator><description>&lt;p&gt;@SuperKoko:&lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;gt; That's still better than one GUID every 10 milliseconds with GetTickCount. &amp;lt;&amp;lt;&lt;/p&gt;
&lt;p&gt;But you're not limited to a single UUID per 10ms tick, even if that's the hardware clock you might be stuck with. That's one of the things that section 4.2.1.2 of RFC 4122 discusses:&lt;/p&gt;
&lt;p&gt;--------------------------------&lt;/p&gt;
&lt;p&gt;A high resolution timestamp can be simulated by keeping a count of the number of UUIDs that have been generated with the same value of the system time, and using it to construct the low order bits of the timestamp. &amp;nbsp;The count will range between zero and the number of 100-nanosecond intervals per system time interval.&lt;/p&gt;
&lt;p&gt;--------------------------------&lt;/p&gt;
&lt;p&gt;So you can still get a 10000 unique UUIDs per 10ms tick. &amp;nbsp;But my point wasn't what timer resolution is best to use, but that by definition you can't get better resolution than 100ns resolution using Algorithm 1 to generate UUIDs. &amp;nbsp;Oh, and that the clock sequence field is not intended to be used to simulate a higher resolution - it's intended to deal with clocks getting out of 'sync' (or going back in time).&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8672006" width="1" height="1"&gt;</description></item><item><title>re: GUIDs are globally unique, but substrings of GUIDs aren't</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx#8671582</link><pubDate>Mon, 30 Jun 2008 18:22:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8671582</guid><dc:creator>SuperKoko</dc:creator><description>&lt;p&gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;That's nice, but it doesn't solve the theoretical problem of generating more than one UUID every 100ns (on average) - the timestamp field in the UUID is in units of 100ns.&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;That's still better than one GUID every 10 milliseconds with GetTickCount.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8671582" width="1" height="1"&gt;</description></item><item><title>re: GUIDs are globally unique, but substrings of GUIDs aren't</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx#8670449</link><pubDate>Mon, 30 Jun 2008 09:23:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8670449</guid><dc:creator>pZy</dc:creator><description>&lt;p&gt;German Wikipedia says for privacy reasons newer versions of Windows would not make use of the MAC address for creating GUIDs. &lt;/p&gt;
&lt;p&gt;Otherwise it would be possible to draw conclusions about the creator. &lt;/p&gt;
&lt;p&gt;Unfortunatley I didn't find that statement in the english wiki. &lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8670449" width="1" height="1"&gt;</description></item><item><title>re: GUIDs are globally unique, but substrings of GUIDs aren't</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx#8669797</link><pubDate>Mon, 30 Jun 2008 05:58:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8669797</guid><dc:creator>mikeb</dc:creator><description>&lt;p&gt;@SuperKoko:&lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;gt; On my computer, QueryPerformanceCounter has 10ns accuracy &amp;lt;&amp;lt;&lt;/p&gt;
&lt;p&gt;That's nice, but it doesn't solve the theoretical problem of generating more than one UUID every 100ns (on average) - the timestamp field in the UUID is in units of 100ns.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8669797" width="1" height="1"&gt;</description></item><item><title>re: GUIDs are globally unique, but substrings of GUIDs aren't</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx#8668456</link><pubDate>Sun, 29 Jun 2008 23:46:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8668456</guid><dc:creator>AndyC</dc:creator><description>&lt;p&gt;@Jeff Tyrrill &lt;/p&gt;
&lt;p&gt;&amp;quot;I really do wish hardware random number generators were standard order in modern processors, so we didn't have to rely on these elaborate algorithms simply to guarantee uniqueness&amp;quot;&lt;/p&gt;
&lt;p&gt;If your random numbers are unique, your random number generator is broken.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8668456" width="1" height="1"&gt;</description></item></channel></rss>