Re: Order of argument evaluation in C++, etc.

graham.matthews@pell.anu.edu.au
Wed, 16 Aug 1995 00:18:26 GMT

          From comp.compilers

Related articles
[19 earlier articles]
Re: Order of argument evaluation in C++, etc. chase@centerline.com (1995-08-11)
Re: Order of argument evaluation in C++, etc. mfinney@inmind.com (1995-08-10)
Re: Order of argument evaluation in C++, etc. hbaker@netcom.com (1995-08-10)
Re: Order of argument evaluation in C++, etc. chase@centerline.com (1995-08-11)
Re: Order of argument evaluation in C++, etc. eggert@twinsun.com (1995-08-13)
Re: Order of argument evaluation in C++, etc. rfg@rahul.net (Ronald F. Guilmette) (1995-08-14)
Re: Order of argument evaluation in C++, etc. graham.matthews@pell.anu.edu.au (1995-08-16)
Re: Order of argument evaluation in C++, etc. bobduff@world.std.com (1995-08-16)
Re: Order of argument evaluation in C++, etc. sethml@sloth.ugcs.caltech.edu (1995-08-16)
Re: Order of argument evaluation in C++, etc. ok@cs.rmit.edu.au (1995-08-16)
Re: Order of argument evaluation in C++, etc. msb@sq.com (1995-08-18)
Re: Order of argument evaluation in C++, etc. ka@socrates.hr.att.com (1995-08-19)
Re: Order of argument evaluation in C++, etc. hbaker@netcom.com (1995-08-21)
[17 later articles]
| List of all articles for this month |

Newsgroups: comp.compilers
From: graham.matthews@pell.anu.edu.au
Keywords: design, optimize, parallel
Organization: Australian National University
References: 95-07-068 95-08-093
Date: Wed, 16 Aug 1995 00:18:26 GMT

graham.matthews@pell.anu.edu.au writes:
>> 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.


chase@centerline.com (David Chase) writes:
>There's a few problems with your reasoning, as I see it.
>First of all, I think it will be very hard for C++ programmers
>to move to parallel execution.


Apologies if I missed the boat but I was not commenting on C++
directly, rather in the ideas of side effect expressions etc.
My comments do apply to C++ though (see below).


>Second, (once again) where's your measurements? How much potential
>parallelism are we giving up here, relative to what we've got or
>will get? How much current unreliability should we trade off
>against some mythical future parallel performance?


You are potentially giving up a huge amount of parallelism. Take the
call,


x = f(g(...), h(...))


Since functions are expressions and can have side effects g() and h()
cannot be executed in parallel (unless you can statically determine
which source code g and h refer to and analyse that. If you want to
make life harder do something similar to the above with virtual
methods.


graham
--
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.