Closed ilmai closed 10 months ago
The EXPORT_STRUCTS
is gone with #3563 which seems to be the bigger one
I think it'd still make sense to box the caches.
(In a ideal world, i'd say it would be better if these cache where not thread-local but part of some kind of SlintContext or SlintApplication or something like that)
I'm going to close this issue because the actual problem is solved and we now use much less thread_storage space.
the remaining ones could go in the SlintContext later: https://github.com/slint-ui/slint/issues/4294
I'm working on a crate to use slint with audio plugins, and I'm running into the thread-local storage limit of libc. Apparently libc only allocates 2048 bytes for thread-local storage to use by dylibs, and slint is using approximately 1600 bytes. Here's a dump of slint symbols in the
.tbss
and.tdata
sections in my compiled plugin. Size is the fourth column and it's in hexadecimal:An obvious solution would be to box some of these to reduce data use to 32 bytes per object, if that's ok for performance.