On Sat, Feb 27, 2010 at 8:43 PM, James Mansion <[email protected] > 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.
_______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
