Crunch
1. <jargon> 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. <compression> 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.
Used at XEROX and
CMU, among other places.
4. To squeeze program source to the minimum size that will still compile or execute.
The term came from a
BBC Microcomputer program that crunched BBC BASIC {source} in order to make it run more quickly (apart from storing keywords as byte codes, the language was wholly interpreted, so the number of characters mattered).
Obfuscated C Contest entries are often crunched; see the firstexample under that entry.
[
Jargon File]