slop n. 1. A one-sided fudge factor, that is, an allowance for error but in only one of two directions. For example, if you need
a piece of wire 10 feet long and have to guess when you cut it,
you make very sure to cut it too long, by a large amount if
necessary, rather than too short by even a little bit, because you
can always cut off the slop but you can't paste it back on again.
When discrete quantities are involved, slop is often introduced to
avoid the possibility of being on the losing side of a {fenceposterror}
. 2. The percentage of `extra' code generated by a compiler
over the size of equivalent assembler code produced by
hand-hacking; i.e., the space (or maybe time) you lose because
you didn't do it yourself. This number is often used as a measure
of the goodness of a compiler; slop below 5% is very good, and
10% is usually acceptable. With modern compiler technology, esp.
on RISC machines, the compiler's slop may actually be
*negative*; that is, humans may be unable to generate code as
good. This is one of the reasons assembler programming is no
longer common.