crunch
1. To process, usually in a time-consuming or complicated way.
Connotes an essentially trivial operation that is nonetheless
painful to perform. The pain may be due to the triviality's
being embedded in a loop from 1 to 1,000,000,000. "Fortran
programs do mostly {number crunching}."
2. To reduce the size of a file without losing information by
a complicated scheme that produces bit configurations
completely unrelated to the original data, such as by a
{Huffman} code. Since such {compression} usually takes more
computations than simpler methods such as {run-length
encoding}, the term is doubly appropriate. (This meaning is
usually used in the construction "file crunching" to
distinguish it from {number crunching}.) Use of {crunch}
itself in this sense is rare among {Unix} hackers.
3. The hash character "#" ({ASCII} 35). Used at {XEROX} and
{CMU}, among other places.
4. To squeeze program source into a minimum-size
representation that will still compile or execute. The term
came into being specifically for a famous program on the BBC
micro that crunched BASIC source in order to make it run more
quickly (it was a wholly interpretive BASIC, so the number of
characters mattered). {Obfuscated C Contest} entries are
often crunched; see the first example under that entry.
[{Jargon File}]