Replies: 9 comments 9 replies
-
I'll turn this into a discussion for now as this is a bit speculative and it's not completely clear to me what would be the best way forward. |
Beta Was this translation helpful? Give feedback.
-
can we get to set the lc,lp,pb,mf,mc,fb settings? |
Beta Was this translation helpful? Give feedback.
-
Sadly,
Mostly. |
Beta Was this translation helpful? Give feedback.
-
@bdnbje, can you play around with the
|
Beta Was this translation helpful? Give feedback.
-
Can you provide a real example of the slowdown you're seeing? I've just quickly tried to compare the two and here's what I get:
That's with the latest 7z release (22.00). |
Beta Was this translation helpful? Give feedback.
-
I did some testing on a mame romset. level 9 with the extreme setting beats out any of the new settings. |
Beta Was this translation helpful? Give feedback.
-
Besides, that's a 0.14% difference.
It certainly could, but I'd rather not bundle any more stuff with DwarFS. There are already requests to "unbundle" libraries from the codebase. If the SDK version is in fact much better than the xz version, I'm wondering why there are no packages for most/all distributions given the code is in the public domain? In any case, if you want to play with this further, I've added a small Python script that allows you to extract all blocks from a DwarFS image. Then you can experiment with compressing these blocks individually (that's essentially what DwarFS does internally) and see if you can get any significant improvement. To do this, first create an image and disable block compression completely:
Alternatively, you can use an existing DwarFS image and create an uncompressed copy of it:
Then, extract the blocks:
|
Beta Was this translation helpful? Give feedback.
-
If compression speeds with LZMA are an issue, maybe consider FLZMA? There's a fork of XZ utils that uses it too so it might be easier to get it. https://github.com/conor42/fast-lzma2 |
Beta Was this translation helpful? Give feedback.
-
One reason 7zip sdk is faster could be due to it's code written in ASM. it has x86 asm and arm asm support too. XZ is a derivative of this sdk and what i could find is it got popular due to it being functionally similar to the zlib library. also xz is in cpp. I will definitely try to the new python script and find more about it thanks. |
Beta Was this translation helpful? Give feedback.
-
Using the dict_size (lzma) method in mkdwarfs slows the encoding process exponentially which is not the ideal for this command. Using the same in 7z does it much quicker. This could because of the liblzma API from XZ utils is not ideal. lzip's or Igor's(get's updated way often is ideal.
also the lzma format describes way more finer controls like lc,lp,pb,mf,mc,fb which can shave a lot of bits since the methods described as level 9 is not ideal for a lot of files.
Beta Was this translation helpful? Give feedback.
All reactions