Compression of Load Modules

COTTRELL, JAMES cottrell at NBS-VMS.ARPA
Fri Feb 28 16:03:07 AEST 1986


/*
> 	TO WHOM IT MAY CONCERN
> 	----------------------
Hey, that's me!
> 
> I am in need of a packing algorithm which works better than the
> PACK Utility of UNIX.  I have also looked at COMPRESS ( developed
> at University of Utah ).  COMPRESS works great if distinct number
> of input bytes is small.  But if the distinct input bytes reach
> 256 ( binary data ), PACK works better than COMPRESS.  With PACK
> I am getting a saving of 20-25%.  If anybody has an algorithm
> that would do better in packing "load modules", I would like to
> know about it.
> 
> THNX...........Padam
> 
> Name:			Padam Maheshwari
> Phone:			(201) 580-4552
> Organization:		AT&T Bell Labs
> Address:		3ND15
> 			184 Liberty Corner Rd
> 			Warren, NJ 07060-0908
> NET Mail Address:	ihnp4!pierce!pkm

I just ran `compressdir -v' on (a *copy* of!) /bin. Here are the
results, sorted by compression ratio. We run 4.2 BSD. Of course,
Doug Gwyn would rather compress /bin/csh by 100% :-). The average
compresion (ignoring true/false) seems to be 33.6%. I got my copy
of compress via FTP off seismo, Version 4.0 7/30/85. Thanks guys!

     1	./false: Compression: -57.14% -- file unchanged
     2	./true: Compression: -57.14% -- file unchanged
     3	./vi: Compression: 25.01% -- replaced with ./vi.Z
     4	./passwd: Compression: 25.66% -- replaced with ./passwd.Z
     5	./ps: Compression: 26.21% -- replaced with ./ps.Z
     6	./grep: Compression: 26.75% -- replaced with ./grep.Z
     7	./make: Compression: 26.86% -- replaced with ./make.Z
     8	./rmail: Compression: 26.93% -- replaced with ./rmail.Z
     9	./diff: Compression: 27.38% -- replaced with ./diff.Z
    10	./sed: Compression: 27.79% -- replaced with ./sed.Z
    11	./cc: Compression: 27.84% -- replaced with ./cc.Z
    12	./ls: Compression: 27.89% -- replaced with ./ls.Z
    13	./login: Compression: 27.93% -- replaced with ./login.Z
    14	./csh: Compression: 28.05% -- replaced with ./csh.Z
    15	./pr: Compression: 28.30% -- replaced with ./pr.Z
    16	./tp: Compression: 28.66% -- replaced with ./tp.Z
    17	./chgrp: Compression: 28.77% -- replaced with ./chgrp.Z
    18	./mail: Compression: 28.94% -- replaced with ./mail.Z
    19	./cmp: Compression: 29.18% -- replaced with ./cmp.Z
    20	./tar: Compression: 29.21% -- replaced with ./tar.Z
    21	./adb: Compression: 29.43% -- replaced with ./adb.Z
    22	./mt: Compression: 29.63% -- replaced with ./mt.Z
    23	./as: Compression: 30.08% -- replaced with ./as.Z
    24	./dd: Compression: 30.18% -- replaced with ./dd.Z
    25	./mv: Compression: 30.20% -- replaced with ./mv.Z
    26	./write: Compression: 30.64% -- replaced with ./write.Z
    27	./sh: Compression: 30.68% -- replaced with ./sh.Z
    28	./time: Compression: 30.88% -- replaced with ./time.Z
    29	./ld: Compression: 31.10% -- replaced with ./ld.Z
    30	./cp: Compression: 31.55% -- replaced with ./cp.Z
    31	./ar: Compression: 31.62% -- replaced with ./ar.Z
    32	./hostid: Compression: 31.80% -- replaced with ./hostid.Z
    33	./od: Compression: 32.69% -- replaced with ./od.Z
    34	./expr: Compression: 32.86% -- replaced with ./expr.Z
    35	./du: Compression: 32.93% -- replaced with ./du.Z
    36	./su: Compression: 33.06% -- replaced with ./su.Z
    37	./rm: Compression: 33.34% -- replaced with ./rm.Z
    38	./cat: Compression: 33.50% -- replaced with ./cat.Z
    39	./date: Compression: 33.67% -- replaced with ./date.Z
    40	./stty: Compression: 33.96% -- replaced with ./stty.Z
    41	./nm: Compression: 34.52% -- replaced with ./nm.Z
    42	./size: Compression: 34.77% -- replaced with ./size.Z
    43	./wall: Compression: 35.02% -- replaced with ./wall.Z
    44	./ed: Compression: 35.07% -- replaced with ./ed.Z
    45	./mkdir: Compression: 35.20% -- replaced with ./mkdir.Z
    46	./rmdir: Compression: 35.27% -- replaced with ./rmdir.Z
    47	./pwd: Compression: 35.32% -- replaced with ./pwd.Z
    48	./hostname: Compression: 35.33% -- replaced with ./hostname.Z
    49	./awk: Compression: 35.36% -- replaced with ./awk.Z
    50	./kill: Compression: 36.04% -- replaced with ./kill.Z
    51	./ln: Compression: 36.13% -- replaced with ./ln.Z
    52	./who: Compression: 36.18% -- replaced with ./who.Z
    53	./df: Compression: 36.49% -- replaced with ./df.Z
    54	./chmod: Compression: 37.36% -- replaced with ./chmod.Z
    55	./strip: Compression: 37.94% -- replaced with ./strip.Z
    56	./pagesize: Compression: 39.24% -- replaced with ./pagesize.Z
    57	./nice: Compression: 44.86% -- replaced with ./nice.Z
    58	./test: Compression: 50.61% -- replaced with ./test.Z
    59	./tee: Compression: 58.47% -- replaced with ./tee.Z
    60	./echo: Compression: 59.47% -- replaced with ./echo.Z
    61	./sync: Compression: 63.30% -- replaced with ./sync.Z

	jim		cottrell at nbs
*/
------



More information about the Comp.lang.c mailing list