- cross-posted to:
- adhd@lemmy.dbzer0.com
- cross-posted to:
- adhd@lemmy.dbzer0.com
Finding clothes on a chair isn’t constant-time. You have to search through the heap of clothes to find the item you want. It has the same time complexity as searching through the closet; it’s only fast because n is small.
This assumes you’re looking for a particular item of clothing. It’s true that the clothes cache is not optimized for that.
However, if you are instead looking for a shirt, a pair of pants, and/or so on, without regards to which specific shirt, and if the cache is randomly sorted and the distribution of all such items is roughly equal, then it becomes O(1) - regardless of the size of the cache, you’ll get what you want within 4 or 5 checks. Plus, you typically want one of each of the types of item, and you’ll get all of them within those same 4 or 5 checks.
Bonus: the checks can be parallelized by using a “wide” cache that enables multiple items to be checked at once. This is why I use a short and wide clean clothes basket and a tall and skinny dirty clothes basket.
It takes 2 pause cycles, that’s essentially O(1) compared to a cache miss.
You could implement in-closet indexing instead to make the cache misses hurt less, trading off some extra insertion time but needing less memory for the cache which is much more expensive cost wise. At this point you’re storing almost your whole DB in the cache and your room’s a mess.
Upgraded cache = bigger clothes pile.
O(k) time to be pedantic, where k is the number of layers.
BRB, getting new clothes from the datastore
I’ve been subscribed to this subreddit for years and so much shit is way over my head lol
I’m really confused by this - is this a bot reposting replies that don’t work because the context has changed or is this some super-meta content that I’m whooshing on.
No I’m just stupid
I just expand my L1 cache to half my wardrobe hehe