-
Notifications
You must be signed in to change notification settings - Fork 116
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
Remove mutex locks from Zip/7z backed archives #1916
base: master
Are you sure you want to change the base?
Conversation
Remove CBufferedArchive as part of the previous Remove mutex lock from GetFile() in CZipArchive and CSevenZipArchive by opening up to ThreadPool::GetThreadNum() instances of archive files in a lazy manner
The |
I profiled BufferedArchive some time ago and found that the buffering didn't actually make any sense because most files (if not all) in most cases (if not all) were loaded only once per archive lifetime. Your comment is well timed, I'll try it once again before slashing it. |
Actually I'm wrong, There are some recurring queries, not very substantial, but not negligible either. |
Would be nice if whatever method you used to measure could be available as a debug tool (printing a map of file : open count would already be sufficient). For example Lua files being opened twice is grounds for optimisation. |
@p2004a can you have a look why dedicated cannot link ThreadPool functions? |
We effectively need to split archive lib into two versions, one with and one without full threadpool because unitsync and dedicated do not use threadpool.
I've pushed a commit that I believe makes it work, ptal. You need to check if it works under msvc, I've not tested there. |
No description provided.