7zip native support

Here you can propose new features, make suggestions etc.

Moderators: Hacker, petermad, Stefan2, white

User avatar
Usher
Power Member
Power Member
Posts: 1726
Joined: 2011-03-11, 10:11 UTC

Re: 7zip native support

Post by *Usher »

2MaxX
Not all -mx numbers are described in 7zip help. Other compression levels also work and give different results than described in help.
7zip by default uses -myx=5 for level of file analysis.
7zip by default doesn't use -mqs for sorting by file extension.
Andrzej P. Wozniak
Polish subforum moderator
lelik007
Member
Member
Posts: 173
Joined: 2021-04-20, 06:37 UTC

Re: 7zip native support

Post by *lelik007 »

2petermad
I got an idea from what you'd found out previously, so I put -mmf=off in Extra Parameters (it should be with additional m to work) for the internal packer, then I switched to external packer with -mf=off, so I repacked Firefox and Thunderbird and had very close sizes for the archives, though archives are not identical.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50386
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: 7zip native support

Post by *ghisler(Author) »

2petermad
I have tested this now and can confirm it with your settings. However, if I manually set the dictionary size and word size to some values, e.g. dictionary size to 64M and word size to 64, I get the same sizes.
So apparently 7zg.exe uses different default values for dictionary size and word size than 7z.dll when I don't tell any of the two which they should use!
Author of Total Commander
https://www.ghisler.com
User avatar
petermad
Power Member
Power Member
Posts: 15997
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Re: 7zip native support

Post by *petermad »

However, if I manually set the dictionary size and word size to some values, e.g. dictionary size to 64M and word size to 64, I get the same sizes.
Not confirmed. With LZMA2 (non-solid) I get the same different sizes for internal and external packing no matter whether I set 64m and 64 or default for those parameters. Tested with original Tc7z64.dll and with Tc7z64.dll replaced with 7z.dll - Please test again.
License #524 (1994)
Danish Total Commander Translator
TC 11.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50386
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: 7zip native support

Post by *ghisler(Author) »

I didn't even need to replace tc7z64.dll with 7z.dll in my tests! I'm using tc7z64.dll which comes with the beta version and the latest 7zg.exe coming from www.7-zip.org.
Author of Total Commander
https://www.ghisler.com
User avatar
petermad
Power Member
Power Member
Posts: 15997
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Re: 7zip native support

Post by *petermad »

But did you test again - I get the same results with different archives with internal and external packing no matter whether I set 64M and 64 or default for those parameters
License #524 (1994)
Danish Total Commander Translator
TC 11.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50386
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: 7zip native support

Post by *ghisler(Author) »

I tried with a lot more dlls and indeed got a different result. Maybe the external 7-zip packs the files in a different order? This also has an influence when using solid archives.
Author of Total Commander
https://www.ghisler.com
lelik007
Member
Member
Posts: 173
Joined: 2021-04-20, 06:37 UTC

Re: 7zip native support

Post by *lelik007 »

2ghisler(Author)
For solid archives 7-zip sorts the files, Help - Switches - Method - qs. And, yes, -mqs can affect the final size but not in the degree if I got 0,9 Mb difference for my private archive where only .txts, .docs, .pdfs in some folders. I redefined 7-zip's ultra level (-mx or -mx9) in Extra Parameters for the internal packer explicitly like this:

Code: Select all

-mm0=lzma2 -mmfb=273 -mmd=512m -mmmt=4 -mms=16g -mmyx=7 -mmx=9
And still had the difference of 0,9 Mb, though I don't understand what's additional "m" for and what's its purpose for the internal packer.
User avatar
MaxX
Power Member
Power Member
Posts: 1166
Joined: 2012-03-23, 18:15 UTC
Location: UA

Re: 7zip native support

Post by *MaxX »

2lelik007
-mmmt=
greater than 2 or 3 is bad idea for LZMA and LZMA2.
This causes worse compression and has much greater RAM needs.
Ukrainian Total Commander Translator. Feedback and discuss.
User avatar
petermad
Power Member
Power Member
Posts: 15997
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Re: 7zip native support

Post by *petermad »

Maybe the external 7-zip packs the files in a different order?
I noticed that both the internal and the external packer does not pack the files in the order on the disk (or TC's curent sort order) - they pack the .dll and .exe file after the other files, which are packed in disk order (NTFS order - as seen when setting TC to Unsorted view).

Also if I put the files on a FAT32 partition in this random order (Use Unsorted order to see that)
Readme.txt
Imagine64.exe
Whatsnew.txt
Imagine64.dll
Imagine.chm
Imagine.wlx64
Imagine.wcx64

They are packed in this order ( see: https://tcmd.madsenworld.dk/7zpackorder.png ):
Imagine.chm
Imagine.wcx64
Imagine.wlx64
Readme.txt
Whatsnew.txt
Imagine64.dll
Imagine64.exe

Which except for the .dll and the .exe file is the same order as the files are stored on and NFTS partition.
But still, the order is the same in the archive packed internally and externally, but the internally packed file is 10159 bytes bigger
License #524 (1994)
Danish Total Commander Translator
TC 11.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
User avatar
MaxX
Power Member
Power Member
Posts: 1166
Joined: 2012-03-23, 18:15 UTC
Location: UA

Re: 7zip native support

Post by *MaxX »

petermad wrote: 2024-11-06, 17:48 UTCthey pack the .dll and .exe file after the other files
Not just "after", but in separate block with BCJ+LZMA.
You can't create one block with different filters in one. Only separate blocks for each used filter.
Ukrainian Total Commander Translator. Feedback and discuss.
lelik007
Member
Member
Posts: 173
Joined: 2021-04-20, 06:37 UTC

Re: 7zip native support

Post by *lelik007 »

2MaxX
4 threads are for the testing purposes only.

And, well, what I think unless we have somebody who understands 7-zip format itself and can see where exactly in it this additional information is stored we'll not be able to find out what causes this issue.
User avatar
MaxX
Power Member
Power Member
Posts: 1166
Joined: 2012-03-23, 18:15 UTC
Location: UA

Re: 7zip native support

Post by *MaxX »

2lelik007
I have been using 7zip for years. May be I could check later what is the difference in TC's and 7z's archives. Just need to get some free time for that.
Ukrainian Total Commander Translator. Feedback and discuss.
lelik007
Member
Member
Posts: 173
Joined: 2021-04-20, 06:37 UTC

Re: 7zip native support

Post by *lelik007 »

2MaxX
Thank you in advance, IDK a switch of 7-zip that I haven't tried yet and which can affect archives like this, so I give up.
User avatar
petermad
Power Member
Power Member
Posts: 15997
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Re: 7zip native support

Post by *petermad »

Not just "after", but in separate block with BCJ+LZMA.
You can't create one block with different filters in one. Only separate blocks for each used filter.
Can you explain that? What is BJC - and what are those filters you mention?

Note - I am not using the Solid archive option in the tests.
License #524 (1994)
Danish Total Commander Translator
TC 11.51 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1391a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
Post Reply