[Mono-list] Performance benchmark

Rodrigo Kumpera kumpera at gmail.com
Sat Feb 27 19:09:12 EST 2010


On Sat, Feb 27, 2010 at 8:43 PM, James Mansion <james at mansionfamily.plus.com
> wrote:

> Rodrigo Kumpera wrote:
>
>>  The differences are in areas such as synchronization and thread-local
>> access.
>> We can generate more efficient thread-local access code on linux than on
>> windows,
>> for example.
>>
> Well, aside from whether it is necessary for the majority of allocations to
> use
> synchronisation in a modern VM (which I doubt) I think there is little
> reason
> why TLS should be materially slower - it doesn't have to use the raw OS
> facility
> and can use something closer to what the compilers do with compiler TLS,
> after
> all.


Maybe you should look into what mono does before you talk about it. Mono
does generate the same
assembly as GCC does for TLS access on x86/amd64. It can generate similar
code on windows if the
compiler support the __thread directive, which is not always available.

And it has to use what the OS provides in some cases, such as OSX, because
there is no ABI for TLS.



> Sure, but the code we were shown shouldn't be doing native calls, and Mono
> has thread
> local allocator support - and that certainly doesn't have problems for the
> JVM on
> Windows.  Smells wrong to me.
>

Mono only uses boehm thread local allocators under linux. And, as I
mentioned before, this is because
mono is better optimized on linux - we spend considerably less time on the
windows port than on linux.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-list/attachments/20100227/b1a27e77/attachment.html 


More information about the Mono-list mailing list