Skip to content

Mutex Block Region RAM Caching #73

@uncorr

Description

@uncorr

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:

  1. Make CitadelCachingDao a genericized class, able to cache by any MutexBlockRegion
  2. Make the MutexBlockRegion interface
  3. Make the Pancake implementation of said interface
  4. Change the current instance of CitadelCachingDao to be with respect to the Pancake type.
  5. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions