All of lore.kernel.org
 help / color / mirror / Atom feed
* Results of actual compile printk format compression
@ 2003-06-06 22:52 Timothy Miller
  2003-06-07  5:39 ` Felipe Alfaro Solana
  0 siblings, 1 reply; 2+ messages in thread
From: Timothy Miller @ 2003-06-06 22:52 UTC (permalink / raw)
  To: Linux Kernel Mailing List

Just a quick note...

Although my experiments with kernel printk format string compression 
have reported estimated shrinkage, this is the first time I have been 
able to compile a whole kernel with the compression filter.

These results come from doing an allyesconfig of 2.5.68 and then weeding 
out anything that didn't build.  One program extracts strings from 
preprocessor output, a second program determines how the strings will be 
encoded, and the third makes substitutions during a kernel compile.

The uncompressed compile resulted in a kernel image of 24011892 bytes. 
The resulting image with format strings compressed is 23904708 bytes 
which is a shrinkage of 107184 bytes.  Subtracting out an estimate of 3K 
for the dictionary and necessary modifications to printk, that results 
in a reduction of something like 104112 which is 4% of the original 
kernel size.

That may not seem like a lot, but if you consider only the printk 
strings themselves, they are compressed to less than 50% of their 
original size (counting the dictionary but not printk code mods).

So, I ask... is this a useful savings?  Is there any chance anyone would 
bother to increase their compile time by a factor of 5 in order to shave 
off 4% or 100k bytes?

(Not to mention that allyesconfig is a very unrealistic scenario.)


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-06-07  5:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-06-06 22:52 Results of actual compile printk format compression Timothy Miller
2003-06-07  5:39 ` Felipe Alfaro Solana

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.