Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mutex Block Region RAM Caching #73

Open
uncorr opened this issue Oct 19, 2012 · 1 comment
Open

Mutex Block Region RAM Caching #73

uncorr opened this issue Oct 19, 2012 · 1 comment

Comments

@uncorr
Copy link
Contributor

uncorr commented Oct 19, 2012

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.

@ttk2
Copy link
Collaborator

ttk2 commented Oct 19, 2012

I think we have someone working on reddis right now, so that leaves RAM caching as a bit of stopgap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants