-
-
Notifications
You must be signed in to change notification settings - Fork 139
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
LZMADecompressor is slow #327
Comments
Interesting. Thanks for the report. Any clue why this could be? |
I have a hunch that the 2nd call from the same process will be faster and have similar performance as other builds. |
Thanks for looking into this, we really need this fixed @commaai. We decompress a 800 MB xz update file and takes almost twice as much. I tried figuring out the issue myself, but with no luck. If you give me a pointer on what to change, I may be able to fix it myself and PR it, but right now I have no idea. |
If you care about decompression wall times you should consider the zstandard Python package. xz/lzma will give you really good compression ratios but the decompression speeds are usually vastly slower than zstd. |
We were thinking about switching to Zstandard, but didn't wanted to change the image format right now. Since we need to change the code in not just one place (but three) and also validate everything. We can't update it right now, so we hope for a fix.
I tried running decompress multiple times in the same process, but the speed is the same. Did I understood your comment wrong? |
Using
uv python install
to installpython 3.12.3
,decompress
is ~2x slower than Ubuntu 24.04 python3 and also pyenv installed python. Same python version.For example:
uv installed python:
system python (from ubuntu):
Also tried the same thing on macOS, same python 3.12 installed with pyenv vs installed with uv and I noticed the same thing.
I made tests with decompress.py and with multiple other xz files.
The text was updated successfully, but these errors were encountered: