You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the RAM caching scheme is bound to one caching unit - the chunk. It would be better programming practice to allow Citadel to RAM cache by any mutual exclusive region of blocks, for example, the pancake (a 64x16x64 rectangular prism). The pancake would be a more accurate prediction of which blocks will be queried next because it reflects the fact that each player's query has higher horizontal variance than vertical varience. This is something that Chunk-wise caching gets dead wrong.
We can add this feature in five easy steps:
Make CitadelCachingDao a genericized class, able to cache by any MutexBlockRegion
Make the MutexBlockRegion interface
Make the Pancake implementation of said interface
Change the current instance of CitadelCachingDao to be with respect to the Pancake type.
Test to see which MutexBlockRegion type is actually the fastest.
This new feature is by no means urgent, and would be a fun challenge for people new to development to prove themselves and learn bukkit! That's why I'm not assigning or doing it yet.
The text was updated successfully, but these errors were encountered:
Currently, the RAM caching scheme is bound to one caching unit - the chunk. It would be better programming practice to allow Citadel to RAM cache by any mutual exclusive region of blocks, for example, the pancake (a 64x16x64 rectangular prism). The pancake would be a more accurate prediction of which blocks will be queried next because it reflects the fact that each player's query has higher horizontal variance than vertical varience. This is something that Chunk-wise caching gets dead wrong.
We can add this feature in five easy steps:
This new feature is by no means urgent, and would be a fun challenge for people new to development to prove themselves and learn bukkit! That's why I'm not assigning or doing it yet.
The text was updated successfully, but these errors were encountered: