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

[LSAR/UNAR] Slow text output #121

Open
kyeastmood opened this issue Jan 20, 2020 · 2 comments
Open

[LSAR/UNAR] Slow text output #121

kyeastmood opened this issue Jan 20, 2020 · 2 comments
Labels
enhancement New feature or request

Comments

@kyeastmood
Copy link

Archive: link
This archive contains 100K files and it can show the difference in performance between LSAR/UNAR and 7-Zip when printing text. Archives containing tens of thousands of files are not unusual.

Results of listing contents of the archive verbosely:

7-Zip:

$ time 7z l -slt 100k_files.7z >> 7zip.log

real    0m0.981s
user    0m0.572s
sys     0m0.403s

Time: ~1 second
Log size: 16 MiB

LSAR:

$ time lsar -L 100k_files.7z >> lsar.log

real    1m5.481s
user    1m5.009s
sys     0m0.412s

Time: 1 minute 5 seconds
Log size: 41.7 MiB

So we can see that LSAR listed the archive about 60 times slower but the output log is only less then 3 times bigger. This is a significant bottleneck even when processing smaller archives containing only 10-20K files.

Thanks

P.S.
Sorry for spamming you with quite a few issues at the same time. I've accumulated them over the last ~4 years of usage and I've learned only recently that you have a repository on GitHub.

@PaulTaykalo PaulTaykalo added the enhancement New feature or request label Jan 22, 2020
@MaddTheSane
Copy link

Perhaps in areas which use mutable types, the creation could pre-allocate the capacity. An example: MaddTheSane@056bd42

@MaddTheSane
Copy link

Running this through my own fork through Instruments, it looks like a lot of it is taken up by regncomp_l (30.6%). Maybe caching the regex could cut down on time (IIRC, Colloquy does that)?

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

3 participants