On 23 Oct 2006 at 13:35, Ray Arachelian wrote:
Nice try! I suppose this kind of cut and run tactic
must work on some
folks. ;-)
An ad hominem attack? Shame!
Well, it's been fun, but I'm getting tired of this. Let's cut to the
chase:
The assertion here is only that a that a well designed
stack machine
will outperform a well designed non-stack machine with similar other
features in one specific area: function calls. Period.
Define "well designed"; define "similar". I'm not at all
convinced.
But, what defines "performance"? How about "work performed in a
given period of time"? Could we agree that two machines with roughly
the same gate count applied in the same way and speed and clock rate
are "similar"? But I doubt that two such examples even exist.
So to "outperform" would be one such machine producing more useful
results per unit time than another, no?
Where does the function call fit into this picture of getting
results? Answer: it doesn't. By and large it's a bit of semantic
fluff--an attempt to re-use code that otherwise might be inlined.
Unnecessary in the grand scheme of things--and a hindrance to
performance and code optimization.
While a stack architecture *might* be better than others in the area
of function calls, I'm not at all convinced that it is. The
comparison just has too many subjective aspects.
Almost any instruction is a bit of fluff in the grand view--as long
as you have at least one to execute. I've certainly used machines
without stacks or CALL instructions and never really missed them for
felt that they would make a substantial contribution to performance.
Cheers,
Chuck