RE: ICU tracing and thread locale storage

"Robert Buck" <[email protected]> Tue, 4 Nov 2003 14:18:37 -0500
Newsgroups gmane.comp.lib.icu.general
Message-ID <EFEB6396440FB440ADD8A753B5530B9C0157DC6D@MESSAGE-AH.ad.mathworks.com>
George and all,

> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of 
> George Rhoten
> Sent: Tuesday, November 04, 2003 1:04 PM

> I also wouldn't see how the tracing API would efficiently 
> deal with TLS 
> even when the user could supply a good routine for such a feature.  I 
> believe that TLS would add a huge amount of unnecessary API 
> user overhead 
> (especially with request #2) and computer execution overhead 
> especially 
> for single threaded applications.

Around 200 cycles per call.

[...]

> Thread local storage just doesn't give me a warm fuzzy 
> feeling... 
> http://msdn.microsoft.com/library/en-us/dllproc/base/thread_lo
> cal_storage.asp?frame=true
> http://www.opengroup.org/onlinepubs/007904975/functions/pthrea
> d_key_create.html
> http://gcc.gnu.org/onlinedocs/gcc/Thread-Local.html

Some of these underline the primary issue, memory management of interim objects bound to a key, not just the final object released by the POSIX API. This would make modifying u_cleanup to work with TSS fairly hard, unless ICU had its own custom TSS implementation (which probably would not make much sense currently).