And yes it should cache that info. We're talking bytes. Less than 0.0001% of the available memory.
Things were different on old hardware because old hardware was over 1000x slower. On modern hardware, you should expect everything to be instantaneous.
Sometimes the devices and drivers just suck. Sometimes it's not the software's fault it's running at 43fps.
I'm hitting the little quick settings area on my exceptionally cheap and old personal laptop. I haven't experienced that slowness once. Once again I imagine the other stuff running interrupting all the OS calls and what not loading this information causes it to be slow.
I routinely have shy of 100 network interfaces active and `ip a` is able to query everything in nanoseconds.
And once again, on some Linux machines I've had over the years, doing an ip a command could hang or take a while if the device is in a bad state or being weird. It normally returns almost instantly, but sometimes has been slow to give me the information.
And then doing the same for Bluetooth.
And then doing the same for screen rotation and rotation lock settings. And sound settings, And then another set of settings. And another set of settings. All from different places of the system configuration while still having the backwards compatibility of all those old systems.
It's not a slowness on painting it. It can do that at screen refresh rates no problem. It's a question of querying all these old systems which often result in actual driver queries to get the information.
43fps? Sure sounds slow to me. Why not 333fps on that hardware? So bloated, so slow.