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 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.