crunch: 1. vi. 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. vt. To reduce
the size of a file by a complicated scheme that produces bit
configurations completely unrelated to the original data, such as by
a Huffman code. (The file ends up looking something like a paper
document would if somebody crunched the paper into a wad.) 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
crunch(ing)' to distinguish it from number-crunching.) See
compress. 3. n. The character `#'. Used at XEROX and CMU, among
other places. See ASCII. 4. vt. 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.