Newsgroups: | comp.compilers |
From: | graham.matthews@pell.anu.edu.au |
Keywords: | design, optimize, parallel |
Organization: | Australian National University |
References: | 95-07-068 95-08-067 |
Date: | Tue, 8 Aug 1995 11:04:36 GMT |
chase@centerline.com (David Chase) writes:
>Perhaps I, too, have become a crank on this subject, but I haven't
>seen anyone point out a benefit that any programmer actually derives
>from ambiguous order of (side-effect-containing) expression evalation
>(in practice, not in theory). Over the years, people have claimed
>that this permits generation of more efficient code.
Time to add a note of "futureness" to the debate. All this argument
about order of evaluation, the disadvantages, advantage etc is all
very uniprocessor based. As soon was we start writing large scale
software for parallel machines all these little C quirks will very
quickly become impediments both to writing robust code, and to
optimisation. On a parallel processor side effects in expressions
are optimisation impediments since they force an order other than
the efficiency dataflow order. Likewise side effects in expressions
can create non-deterministic (and therefore non debuggable) code,
if you don't specify a precise order of evaluation (and hence
again forgoe the optimal dataflow order).
graham
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.