Post by Richard Heathfield<parsimonious snip ("parsnip" for short)>
Post by luser droogSo, bringing in the math library for 1 function used
exactly 4 times was ... unparsimonious.
Good word, parsimony. And it's a good concept, too. Not dragging extra
cruft into the system just for the sake of it, or even if there /is/
some short-term nebulous advantage to it. This is why computers don't
have tail fins. It's also why RISC is such a pleasing idea.
the big drawback of typical RISCs (such as ARM) though is that it
doesn't make the compiler or assembler machinery any nicer (actually,
these are generally turned into more of a mess, as dealing with
immediate, memory addresses/offsets, ... is made a lot more complicated
in-general), and to compete well with modern CISC processors (such as
x86) on the performance front (say, executing multiple instructions per
clock, ...), they need most of the same basic complexities on the
hardware end.
so, it is debatable if there is any real advantage at this point for
RISC over a "well designed" CISC, say, if someone were to design a
processor using a scaled-up (32 or 64-bit) version of an ISA like the
one from the MSP430 micro-controllers.
this ISA is vaguely RISC like in terms of encoding, however:
many instructions can directly perform operations with memory operands;
instructions can use additional instruction words for things like
immediate values and similar (like, this amazing thing: don't need to
deal with needing to have a table within a +/- 2k-word window to be able
to deal with immediate values and memory addresses, and the consequent
addition of hidden jumps over these tables when they need to be stuck in
the middle of the instruction-stream to avoid being out-of-range, ...).
but, yeah, a RISC could be ok if it allows easily/efficiently working
with memory variables and supports the ability to easily get immediate
values loaded into registers, ...
even a convenient two-part load instruction could work (where a pair of
instructions is used to load an immediate which is split into multiple
parts).
or such...