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

Roadmap of 2021 #99

Closed
3 of 6 tasks
ije opened this issue Aug 12, 2021 · 5 comments
Closed
3 of 6 tasks

Roadmap of 2021 #99

ije opened this issue Aug 12, 2021 · 5 comments

Comments

@ije
Copy link
Member

ije commented Aug 12, 2021

Roadmap List

@ije ije pinned this issue Aug 12, 2021
@jimisaacs
Copy link
Collaborator

jimisaacs commented Sep 9, 2021

@ije I have a local branch where I have basically taken an additive approach to the fs_local implementation (duplicated and layered onto fs_local), and added https://github.com/dgraph-io/ristretto as a gate keeper. Would you be interested?

@jimisaacs
Copy link
Collaborator

Take a look at that project if you can, it's an interesting approach:

High Hit Ratios - with our unique admission/eviction policy pairing, Ristretto's performance is best in class.
Eviction: SampledLFU - on par with exact LRU and better performance on Search and Database traces.
Admission: TinyLFU - extra performance with little memory overhead (12 bits per counter).

@jimisaacs
Copy link
Collaborator

jimisaacs commented Sep 9, 2021

My implementation assumes a stateless container, so while still using your standard local fs, I just make the assumption that what ever is in the cache is the source of truth. Though even if it's not in a stateless container, I'd still almost like to just assume it is, and clear the local storage directory on server start 🤷

@jimisaacs
Copy link
Collaborator

What is in the cache is just a struct with the name and modtime.

@ije
Copy link
Member Author

ije commented Sep 10, 2021

@jimisaacs there are two different kind of LRUs i think, one is a FS storage that can remove the old(cold) files automatically since the build outputs take lot of storage space over time. the other one is a redis layer to map the request url to the entry JS, currently i only use the postdb(a embed db i created) to cache package versions.

@hazae41 hazae41 unpinned this issue Dec 9, 2021
@hazae41 hazae41 pinned this issue Dec 9, 2021
@ije ije closed this as completed Jan 18, 2022
@aiotter aiotter mentioned this issue Jan 21, 2022
3 tasks
@ije ije unpinned this issue Jan 21, 2022
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