Gerrit Voss wrote: > Hi, > > On Thu, 2008-11-27 at 11:07 +0100, Marcus Lindblom wrote: >> Hi, >> >> I see that there is code for swithcing to the use __declspec(thread) >> here and there, but it is disabled by default. >> >> I can understand why it's disabled, since __declspec(thread) is not >> compatible with delayed loading of libriares (i.e. using LoadLibrary() >> or /DELAY). >> >> I'm merely wondering; why it's even in there anymore? ;) >> >> Any performance advantage over the TlsFoo() functions ought to have been >> minimized by going to c-ptr's for regular fcptrs? > > Not quite, the switch to c-ptr's was definitely a big portion but > the change tracking still requires thread local storage to get the > changelist.
Ok. I get that. I'm just asking why there are two methods to use tls on win32, i.e. tlsalloc and __declspec(theread), when the latter is both disabled and has other issues. > Which reminds me I need to check something with regards to editing > the same container from two different aspects ;-) ;) > I don't remember why it is off as the default, but my options for a long > time have it on. What is off? 'enable_win_localstorage' is on by default, which means that TLSAlloc() is used. Setting it to off enables declspec(thread). I was wondering what the use is for the declspec() option (and was guessing at mtptr-performance, which is less critical in OpenSG2)? Also, if no-one is using it, why is it in there? >> Also, I noticed an scons-switch for shifting the fc-ptr between >> multithreaded and singlethreaded, with MT being default. I thought >> singlethreaded was the default for OSG2? > > no OpenSG2 is still multi-threaded. Single-threaded really means, no > aspects, no threading classes, not even in principle as they are taken > out at compile time. That was part of playing with embedded platforms. Perhaps we misunderstand each other. I known that OpenSG2 is MT, but the FCPtrs in 1.x are now regular c-ptrs. I though the 'fcptr_mode' switch controlled fc-ptrs, not multithreading in general. Are you saying that that switch controls multithreading in OpenSG as a whole? (I don't think you are.. I ought to have listed the switches' names.) Cheers, /Marcus ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Opensg-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensg-users
