On Sat, Aug 03, 2002 at 10:51:41AM -0400, Ken Fox wrote:
> Nicholas Clark wrote:
> >I can write more a efficient implementation of abs_i ... things will
> >go slightly faster
> 
> The law of diminishing returns is broken for a VM. Eventually you
> reach a point where adding more ops actually decreases total
> performance. Instead of the change in performance tending towards
> zero, it actually becomes negative. No surprise there -- it's
> the heart of the RISC v CISC debate.
> 
> Parrot has a RISC-like 3 operand design. IMHO if all ops are
> consistent with that design, it will be easier/faster to generate
> code. You can always add abs_i later if abs_i_i turns out to be a
> performance problem.

But there do seem already to be arguably duplicate 2 operand versions of
many ops. Hence I was surprised at the lack of consistency.

To be "orthogonal" there are currently many $foo_i_ic_ic ops, that are
entirely redundant, merely being complex ways to express set_i_ic while
chewing CPU and RAM.

Independent of my abs_i_i question (and a few other ops, including logical and
bitwise that could be added), shouldn't all these _ic_ic ops go?

Nicholas Clark
-- 
Even better than the real thing:        http://nms-cgi.sourceforge.net/

Reply via email to