ZIP .vs. PkZip

#1
10/11/2013 4:24 2,772,745,669 all.txt
11/06/2013 19:29 86,281,249 all.zip
11/06/2013 19:27 80,574,205 pkzip.zip

The all.zip was done with:
ZIP /L6 all all.txt
and the pkzip.zip waas done with:
PKZIPC -add -max pkzip all.txt

Why is there such a huge difference btwn pkzip and ZIP - when both are used at max compression?

TCC 15.01.56 x64 Windows 7 [Version 6.1.7601]
TCC Build 56 Windows 7 Build 7601 Service Pack 1
 
#3
and you can use 7z in either graphic or console mode, and it will expand .ZIP files (and most other archiving formats) in addition to its own format. And it's free!

BTW, when compressing your over 2GB file, how long did the TCC internal command take vs. PKZIP, also, what version of PKZIP did you use?
 
#4
One thing that TCC's zip feature has -- likewise WZZIP and PKZIP -- that 7Zip doesn't seem to have: a "freshen" switch. That can be so very useful. Or if 7Zip has it, damned if I can figure out what combination of switches make it work properly. Otherwise, I agree with the endorsement for 7Zip. It's fast and does a fine job of compression, especially if you use 7z format.
 
#5
Timer 1 on: 18:50:06
''
<= C:\TCMD\AFT1\all.txt
''
Timer 1 off: 18:51:16 Elapsed: 0:01:10.20
''
Timer 1 on: 18:51:16
''
PKZIP(R) Version 14 ZIP Compression Utility for Windows Registered Version
Portions copyright (C) 1989-2011 PKWARE, Inc. All Rights Reserved.
Reg. U.S. Pat. and Tm. Off. Patent No. 5,051,745 7,793,099 7,844,579
7,890,465 7,895,434; Other patents pending
♦ Using default compression method
♦ Using compression level: 9
Creating .ZIP: ZIPs\PkZip.zip
Adding File: all.txt Deflating (97.1%), done.
''
Timer 1 off: 18:51:49 Elapsed: 0:00:32.99
''
Timer 1 on: 18:51:49
''
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Scanning
Creating archive ZIPs\7Zip.7z
Compressing all.txt
Everything is Ok
''
Timer 1 off: 18:55:28 Elapsed: 0:03:39.08
''
TCC 15.01.56 x64 Windows 7 [Version 6.1.7601]
TCC Build 56 Windows 7 Build 7601 Service Pack 1
Registered to Charles S Galloway - 5 System License
''
PKZIPc version is 14.0.1134.0
''
7Z version is 9.20
''
11/07/2013 18:55 48,525,434 7Zip.7z
11/07/2013 18:51 80,574,205 PkZip.zip
11/07/2013 18:51 86,281,249 ZIP.zip
[C:\TCMD\AFT1]

==============
Produced with:
==============
CLS
IF NOT ISDIR ZIPs MD ZIPs
IF ISFILE ZIPs\* del /q /y ZIPs\*
echo ''
TIMER ON
echo ''
ZIP /L6 ZIPs\ZIP all.txt
echo ''
TIMER OFF
echo ''
TIMER ON
echo ''
PKZIPC -add -max ZIPs\PkZip all.txt
echo ''
TIMER OFF
echo ''
TIMER ON
echo ''
"C:\Program Files\7-Zip\7z.exe" a ZIPs\7Zip all.txt
echo ''
TIMER OFF
echo ''
VER /r
echo ''
echo PKZIPc version is %@verinfo["C:\Program Files (x86)\PKWARE\PKZIPC\pkzipc.exe"]
echo ''
echo 7Z version is %@verinfo["C:\Program Files\7-Zip\7z.exe"]
echo ''
dir /a:-d /k /m ZIPs\*
QUIT
 
Last edited:
#6
And PKZIPC DOES have a freshen:
PKZIPC <enter>
at prompt enter Add <enter>
Command/Option? add
Add
Add files to an archive.
AVAILABLE VALUE(S):
all (default) - compress new files and existing files.
freshen - compress only files that exist in the archive and that have changed
update - compress new and update existing files
archive - turn off archive attribute of all added files (prepares backup file set for incremental archiving)
incremental - compress only files that have the archive attribute on and subsequently turns off the archive attribute
-incremental - compress only files that have the archive attribute on and does not turn off the archive attribute
NOTE: The archive, incremental, and -incremental sub-options are not available for UNIX platforms.
EXAMPLE USAGE:
pkzipc -add save.zip *.doc
pkzipc -add=freshen save.zip *.doc
pkzipc -add=incremental save.zip *.doc
pkzipc -add=-incremental save.zip *.doc

CONFIGURABLE? yes
 
#7
I have uploaded all.txt, compressed with TCMD's ZIP, to LargeFilesASAP.com - direct download link is:

http%253A%252F%252Ffreesrv2.largefilesasap.com%252Fdownload.php%253Ffile%253DNGYyMmQwZmVmNTMxZDkwYjg5ZWNkMDZlODBkNjAyODIvMjAxMzExMDcxNDI2MzkxMjcxMjkyODgzOTAuemlwX19TRVBfXzg0OTcyMQ%253D%253D

If someone could use the exact same version of TCMD and ZIP command line and 64 bit computer and whatever the max compression switches are for 7zip and any others and post the results here for comparison.... please.

LargeFilesASAP will only host the file for 3 days - so act quickly.. please.
 
#8
Your definition of FRESHEN is close, but not perfect. It means that if the disk version was changed AFTER the archived version, update the archive; but the presence of the A attribute, indicating the disk version was changed, is not sufficient - it means only that the file changed after it was last copied.

7z's flags are not trivial; searching for the word FRESHEN in the 7z help file I found that 7z supports freshening an archive, I did not spend time figuring out what exact combination is needed to freshen an archive. There is a help page that explains what freshening does; another help page which reports the option switch settings required to do it. Too late in the day for me...
 
#12
I have uploaded all.txt, compressed with TCMD's ZIP, to LargeFilesASAP.com - direct download link is:

http%253A%252F%252Ffreesrv2.largefilesasap.com%252Fdownload.php%253Ffile%253DNGYyMmQwZmVmNTMxZDkwYjg5ZWNkMDZlODBkNjAyODIvMjAxMzExMDcxNDI2MzkxMjcxMjkyODgzOTAuemlwX19TRVBfXzg0OTcyMQ%253D%253D

If someone could use the exact same version of TCMD and ZIP command line and 64 bit computer and whatever the max compression switches are for 7zip and any others and post the results here for comparison.... please.

LargeFilesASAP will only host the file for 3 days - so act quickly.. please.
That link seems to be utterly useless. I'd like to try it.
 
#14
On in7/32, I see pretty much what you see. I don't have PKZip. InfoZip compresses a little more that TCC and (by extrapolation) not as much as PKZip. 7Zip compresses far more but uses a heck of a lot of resources (memory and time). But I don't see an issue. It's all to be expected. I'd would expect PK to be better in some respects than alternative implementations of LZ (since they still get away with charging for it). And I hardly consider the PKZip/TCC difference in compression ratio (97.1% vs. 96.9%) significant. 86MB vs. 80MB looks like a lot, but consider the size of the file you started with!
 
#15
This is kind of grim but I think I found what I needed for "freshen" in 7zip:

The 'u' command followed by this switch+argument combination:

-up1q1r0x1y2z1w2


The help-file for that program is not, how-do-you-say, sterling.

Ugh. After poring over the help file for quite a while I thought I could get it done by omitting at least a few of those arguments. But if I didn't use ALL of them, it didn't work -- I would have to specify the filenames to be "freshened" (exactly what I didn't want). Maybe there's a simpler way, but damned if I could find it.

Actually, there is a simpler way. The Winzip people keep badgering me in e-mail to upgrade. There's a simple "f" switch, as I recall, for their WZZIP tool. It's kind of irksome that after all these years they still split that whole business into WZZIP and WZUNIP (or did the last time I used the program), but oh well. Too bad the ARJ guy seems to have given up on 64-bit. I really did like his ARJ program, and its (almost uknown) big brother, JAR (not related to Java).

Then again, ActivePerl comes with ZIP support. Maybe that'd do it. Nah, too much like work. Much as I appreciate Perl: That documentation ain't so great, either.
 
#16
Well, it's like connecting a pump to your tire vs. a tool to release the compressed air... Or an INSERT vs. a DELETE command.
Yes. 7zip needs a better way to FRESHEN, but if the volume of files to be freshened is large, it really needs to recompress all that is to be in the archive, or it loses its compression ratio.
 
#17
Ah'm jest a simple soul with simple needs, so as far as I'm concerned "freshen" is: you've got this EPUB file (a .zip file with the extension "epub"). You've extracted its XHTML files and have run a batch search-replace on them. Now you need to "freshen" the .epub file with the shortest and least irritating possible command. "wzzip -f [or maybe just "f"] ...etc." Or that absurdly long switch+argument combination for 7Zip.
 
#19
Wonder why PKZIP compresses less then 7zip and others ? Seems that if PKZIP uses propritary compression - they would be able to compress better.
 

rconn

Administrator
Staff member
May 14, 2008
10,325
94
#20
Wonder why PKZIP compresses less then 7zip and others ? Seems that if PKZIP uses propritary compression - they would be able to compress better.
7Zip uses newer (and more costly) compression algorithms. The goal with the internal ZIP was to create zip files that could be read by anybody, not *really super compressed* files that could only be unzipped by another TCC instance.

And 7Zip is bigger than the entirety of TCC, which includes a few features besides ziipping & unzipping files!
 
#21
I have no quibble with the efficiency of the internal ZIP command. IMHO today compression is only relevant for backups (unless you have slow internet, or its cost is based on volume). Minor improvement of compression efficiency is hardly ever significant, unless it happens to be cross the limit if what fits on a single volume of the distribution medium. Much more important is the information included in an archive's Table of Contents allowing copy verification and attribute preservation (directory hierarchy, protection and age attribute preservation.

One of the major concepts of 7Zip is to compress all files that form the archive (at least when it is first created) as a single task. This allows the use of a single compression table which is optimized for the whole set. The extra processing required makes it slower, but improves the compression ratio for the while archive. The concept was used about 20 years ago in distributing the files that were bundled with a software book (IIRC Plaguer's The Standard C Library) on a single 3.5in diskette instead of two diskettes, by a two-step process. In step 1 an uncompressed archive of all files included was built, using PKZIP. In Step 2 the single file from step 1 was compressed using PKZIP's maximum compression (deflating). The result was about 20% smaller than building a deflated archive with PKZIP in a single step (yes, I had tried it), just enough to save a second 1.44MB diskette in each copy of the book. This was done using MS-DOS 3.3, with its physical limitations.
 
Nov 2, 2008
180
0
#22
While compression might be only relevant for backups etc, archiving is still quite useful. You can make an archive of a working directory, and then unzip it into the directory with all of the bits in place.

When you reinstall the OS, or run multiple OS's, you don't want to fiddle around with making multiple installs, and you can be up and running with a minimal number of batches and SI runs. I have the installation of the bulk of the apps i use, including 4NT etc, down to running six batch files on a clean install. There's nearly a full cdrom of these things, but i try to make them run locally or on 'remote disks', or whatever, to minimise fussing around.

Windoze registry is something one avoids if one can.

I still use 4NT/TCMD 8.01. 8.02 has the new style icon, i prefer the old style for the old version, and the new style for 9+. All JP proggies live in directories by platform, so i keep these in one directory, and 4os2/tcpm in a different directory, and 4dos in its own directory, and tc16 in two directories. Have done since tcmd first hit the market (disk space was precious then, and old habits die hard).[/B]