single-threaded optimizations

2021-03-02 Thread Bruno Haible
Hi Paul, Paul Eggert wrote: > + * lib/mbtowc-lock.h (mbtowc_with_lock) [USE_UNLOCKED_IO]: > + Don’t bother with locks, since this app is single-threaded. We now have two C macros which indicate a single-threaded application: * USE_UNLOCKED_IO, used - for unlocked - in regex

Re: single-threaded optimizations

2021-03-06 Thread Paul Eggert
On 3/2/21 7:27 PM, Bruno Haible wrote: a general macro won't cut it e.g. for coreutils. coreutils has multithreaded programs ('sort') next to single-threaded programs. But coreutils wants to optimize wcwidth. GNULIB_WCHAR_SINGLE actually means "assume that the locale has been set before the prog

Re: single-threaded optimizations

2021-03-07 Thread Bruno Haible
Hi Paul, > > a general macro won't cut it e.g. for coreutils. coreutils > > has multithreaded programs ('sort') next to single-threaded programs. > > But coreutils wants to optimize wcwidth. GNULIB_WCHAR_SINGLE actually > > means "assume that the locale has been set before the program becomes > >

Re: single-threaded optimizations

2021-03-07 Thread Bruno Haible
> > * We establish a new macro GNULIB_MBTOWC_SINGLE which means "assume that > > at most one thread invokes mbtowc-like functions". The mbtowc > > replacement uses this instead of using USE_UNLOCKED_IO. Tar can #define > > this new macro. > > I like this idea. The packages can then define or no

Re: single-threaded optimizations

2021-03-07 Thread Paul Eggert
On 3/7/21 1:58 AM, Bruno Haible wrote: The mbrtowc modules states: Link: $(LIB_MBRTOWC) Thanks for explaining that. Over time Gnulib has evolved and 'tar' hadn't caught up with all those Link: lines. So I just now added $(LIB_ACL), $(LIB_GETRANDOM), $(LIB_HARD_LOCALE), $(LIB_HAS_ACL),