-
-
Notifications
You must be signed in to change notification settings - Fork 52
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 / avoiding temporary files #14
Comments
Hello, how are you? RAM:6GB The parameters used were:(-intense -v -cn) |
- Added helper functions to copy data, file<->memory - Related: Issue #14
- Helper functions renamed to fast_copy overrides - Helper functions added to precomp.h - Related: Issue #14
2 temporary files removed for partial matches by commit faa477 |
- Merged compare_file_mem and compare_files_penalty - There was a temporary file between the two functions before which is not needed anymore, comparisons are done in memory on 512 byte chunks - Result on silesia.zip: 15% faster (30,7 s => 26,2 s) - See issue #14
Version 0.4.6 release uses temporary files only in these cases:
I probably won't target any of them except recursion, so I close this issue for now. |
At the moment, everything is done using temporary files, so even very small streams are processed on disk instead of memory which slows down Precomp a lot. On the other hand, it allows handling of very large streams that are several GB in size.
Proposal: There should be a parameter to set a max. memory size, everything up to that size will be processed in memory and only if more memory is needed, streams are processed on disk using temporary files.
The text was updated successfully, but these errors were encountered: