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

Memory management #2

Open
cdusold opened this issue Sep 21, 2014 · 1 comment
Open

Memory management #2

cdusold opened this issue Sep 21, 2014 · 1 comment
Assignees
Milestone

Comments

@cdusold
Copy link
Owner

cdusold commented Sep 21, 2014

Add proper memory management so that the Cache and Buffer classes don't eat all the RAM during prolonged use.

@cdusold cdusold self-assigned this Sep 21, 2014
@cdusold cdusold added this to the 1.0.0.0 milestone Sep 21, 2014
@cdusold
Copy link
Owner Author

cdusold commented Jun 3, 2015

DiskDict, DiskList, and OrderedDiskDict have been added. Respectively, this provides random access with relatively low disk impact, a segmented list that stores infrequently used pages onto disk, and a random access dict where the elements are segmented linearly for faster ordered access, but higher disk impact. The need for OrderedDiskDict arose with the Prime factorization suite being developed, as the prime sieve was causing many page misses after a certain number, and the hashing scheme almost guaranteed that would continue indefinitely.

They aren't quite ready for use in the Cache and Buffer classes, as they are process bound. A manager class and process needs to be developed to take advantage of their use across threads.

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

No branches or pull requests

1 participant