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

Performance #27

Open
T3kla opened this issue Jul 21, 2023 · 4 comments
Open

Performance #27

T3kla opened this issue Jul 21, 2023 · 4 comments
Labels
enhancement New feature or request

Comments

@T3kla
Copy link

T3kla commented Jul 21, 2023

I have been testing performance against the default 7zFM and it is much faster than this lib. I haven't look much into it but this seems like the program is multithreaded while this lib reads file by file. I'm gonna make my best effort to make it multithreaded but if there is known way of doing it please let me know!

@dyz1990
Copy link
Owner

dyz1990 commented Aug 5, 2023

This library does not currently support multi-threaded codecs, it may in the future

@dyz1990 dyz1990 added the enhancement New feature or request label Aug 5, 2023
@T3kla
Copy link
Author

T3kla commented Aug 7, 2023

Due to my app specifications I had to swap to the 7z CLI app to make the decompression run faster, loosing the progress bar in the process. I did try to make changes to the library to make it multi-threaded but my current knowledge of Rust just isn't enough at this point :c

@dyz1990
Copy link
Owner

dyz1990 commented Aug 8, 2023

Well, I think the best way is to support lzma2 multi-threaded codec, just like the fast-lzma2 library, but it is very difficult to implement.
But there is a simple way that works for non-solid compressed 7z files. You can check examples/mt_decompress.rs in the mt_decompress branch

About solid compressoin: https://en.wikipedia.org/wiki/Solid_compression

@T3kla
Copy link
Author

T3kla commented Aug 8, 2023

Wow that is really helpful, I'll give it a try!

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

No branches or pull requests

2 participants