[Mono-dev] GUID generation
pablosantosluac
pablosantosluac at terra.es
Fri Jul 27 18:49:53 EDT 2007
Hi,
Thanks, I'll try CoCreateGuid and take a look at the libuuid.
pablo
----- Original Message -----
From: Jonathan Chambers
To: Robert Jordan
Cc: mono-devel-list at lists.ximian.com
Sent: Friday, July 27, 2007 11:16 PM
Subject: Re: [Mono-dev] GUID generation
Hello,
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't try it's performance).
- Jonathan
On 7/27/07, Robert Jordan <robertj at gmx.net> wrote:
pablosantosluac wrote:
> This fix looks good (performance wise)
>
> I don'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)
>
> Any idea why the .net implementation is faster?
Because MS.NET is probably p/invoking the unmanaged COM UUID
generation API.
Robert
>
> thanks,
>
> pablo
>
>
> ----- Original Message -----
> From: Jonathan Chambers
> To: pablosantosluac
> Cc: mono-devel-list at lists.ximian.com
> Sent: Friday, July 27, 2007 7:18 PM
> Subject: Re: [Mono-dev] GUID generation
>
>
> Hello,
>
> A quick test on my Xeon 3.6GHz reveals the following for me for generating a million GUIDs:
>
> .Net: 300 ms
> mono: 2300 ms
> mono (modified): 1875 ms
>
> 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?
>
> Thanks,
> Jonathan
>
>
> On 7/27/07, pablosantosluac <pablosantosluac at terra.es> wrote:
> Hi,
>
> I need to generate a large number of GUIDs. I tried with my laptop and a
> .net console application and it can generate about 1million GUIDs in about
> 480ms.
>
> Then I tried the same with mono and it needed 3.4 seconds.
>
> My surprise was trying on our Server (Intel(R) Xeon(TM) CPU 3.00GHz) where I
> got the following results:
>
> 8 seconds to generate a million of GUIDs.
>
> Surprinsingly my old Sun Blade 1000 took almost the same time (Solaris 10
> SPARC): 9 seconds.
>
> I guess there is a reason why .NET implements faster GUID generation but, is
> there any other globally unique number generator for Mono/Linux which I can
> use? Also, any idea why the Xeon (which is much, much faster than both the
> laptop and the Solaris box) is so slooow generating GUIDs?
>
> Thanks,
>
> pablo
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list
------------------------------------------------------------------------------
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20070728/a8ca3011/attachment.html
More information about the Mono-devel-list
mailing list