On 2009-10-28, at 11:29 PM, Ray Dillinger wrote:

> Ack.  Forgot to CC the list.
>
> From: Ray Dillinger <[email protected]>
> Date: October 28, 2009 11:27:39 PM EDT
> To: Marc Feeley <[email protected]>
> Subject: Re: [r6rs-discuss] Implicitly Concurrent Scheme
>
>
> On Wed, 2009-10-28 at 21:54 -0400, Marc Feeley wrote:
>> On 2009-10-28, at 4:53 PM, John Cowan wrote:
>>
>>> Marc Feeley scripsit:
>>>
>>>> Not true.  Lazy-task creation will do a very good job dynamically.
>>>> Read my PhD thesis for details:
>>>
>>> I confess to not having read it yet, but it appears to be about
>>> futures,
>>> which are directly inserted into code by the programmer, not  
>>> inferred
>>> by the implementation for *every* argument of *every* call.
>>
>> The overhead is so low that a compiler could automatically insert  
>> them
>> for every formal parameter of procedure calls (except when they are
>> trivial expressions like constants, variable references, or calls to
>> primitives with trivial expression arguments).
>
> Variable references are not "trivial" expressions w/r/t lazy
> evaluation, unless they are immutable.  The time of evaluation
> can make a difference.
>
>                       Bear
>


Unless I've misunderstood this thread... the point I'm making is that  
if you want a concurrent semantics for the evaluation of the  
parameters of a procedure call *then* the compiler could wrap a future  
around every non trivial parameter and the overhead would not be too  
high.  I was responding to John Cowan's comment that spawning threads  
in such an aggressive way will cause poor performance.  My response:  
not true if you use lazy task creation.

Marc


_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to