Hello,<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pinvoking the the CoCreateGuid function from ole32.dll results in a time of 225 ms for mono. You could use that on Windows and libuuid on Linux (I didn&#39;t try it&#39;s performance).<br><br>- Jonathan
<br><br><div><span class="gmail_quote">On 7/27/07, <b class="gmail_sendername">Robert Jordan</b> &lt;<a href="mailto:robertj@gmx.net">robertj@gmx.net</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
pablosantosluac wrote:<br>&gt; This fix looks good (performance wise)<br>&gt;<br>&gt; I don&#39;t understand why it is taking so long... Specially taking into account that the old sun blade almost needs the same time... (it is about 5000 bogomips...:-P)
<br>&gt;<br>&gt; Any idea why the .net implementation is faster?<br><br>Because <a href="http://MS.NET">MS.NET</a> is probably p/invoking the unmanaged COM UUID<br>generation API.<br><br>Robert<br><br>&gt;<br>&gt; thanks,
<br>&gt;<br>&gt; pablo<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp; ----- Original Message -----<br>&gt;&nbsp;&nbsp; From: Jonathan Chambers<br>&gt;&nbsp;&nbsp; To: pablosantosluac<br>&gt;&nbsp;&nbsp; Cc: <a href="mailto:mono-devel-list@lists.ximian.com">mono-devel-list@lists.ximian.com
</a><br>&gt;&nbsp;&nbsp; Sent: Friday, July 27, 2007 7:18 PM<br>&gt;&nbsp;&nbsp; Subject: Re: [Mono-dev] GUID generation<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp; Hello,<br>&gt;<br>&gt;&nbsp;&nbsp; A quick test on my Xeon 3.6GHz reveals the following for me for generating a million GUIDs:
<br>&gt;<br>&gt;&nbsp;&nbsp; .Net: 300 ms<br>&gt;&nbsp;&nbsp; mono: 2300 ms<br>&gt;&nbsp;&nbsp; mono (modified): 1875 ms<br>&gt;<br>&gt;&nbsp;&nbsp; So, not quite sure why you see 8 seconds on your server. For the modified version, I simply made the byte array inside of NewGuid static (since we are already locking for the RNG) for some performance improvement. Can someone comment if that change is acceptable?
<br>&gt;<br>&gt;&nbsp;&nbsp; Thanks,<br>&gt;&nbsp;&nbsp; Jonathan<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp; On 7/27/07, pablosantosluac &lt;<a href="mailto:pablosantosluac@terra.es">pablosantosluac@terra.es</a>&gt; wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Hi,<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; I need to generate a large number of GUIDs. I tried with my laptop and a
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; .net console application and it can generate about 1million GUIDs in about<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; 480ms.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Then I tried the same with mono and it needed 3.4 seconds.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; My surprise was trying on our Server (Intel(R) Xeon(TM) CPU 
3.00GHz) where I<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; got the following results:<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; 8 seconds to generate a million of GUIDs.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Surprinsingly my old Sun Blade 1000 took almost the same time (Solaris 10<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; SPARC): 9 seconds.
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; I guess there is a reason why .NET implements faster GUID generation but, is<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; there any other globally unique number generator for Mono/Linux which I can<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; use? Also, any idea why the Xeon (which is much, much faster than both the
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; laptop and the Solaris box) is so slooow generating GUIDs?<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Thanks,<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; pablo<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; _______________________________________________<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Mono-devel-list mailing list
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; <a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list">http://lists.ximian.com/mailman/listinfo/mono-devel-list
</a><br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt; ------------------------------------------------------------------------<br>&gt;<br>&gt; _______________________________________________<br>&gt; Mono-devel-list mailing list
<br>&gt; <a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>&gt; <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list">http://lists.ximian.com/mailman/listinfo/mono-devel-list
</a><br><br>_______________________________________________<br>Mono-devel-list mailing list<br><a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br><a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list">
http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br></blockquote></div><br>