Purity (D2 standard libraries / object.d)

Walter Bright newshound1 at digitalmars.com
Sat Jan 10 12:43:10 PST 2009


dsimcha wrote:
> == Quote from Walter Bright (newshound1 at digitalmars.com)'s article
>> If the compiler does general memoization on pure functions, all it has
>> to do is use the bits of the arguments passed on the stack to the
>> function as an index into an associative array of the return values.
>> The problem is identifying if this would be faster than recomputing the
>> return value.
> 
> Wouldn't this also cause threading issues?  The obvious solution would be to use
> TLS, but his requires duplicating the cache across threads.  Also, using AAs
> internally like this would lead to very deeply hidden memory allocations, and
> therefore possibly more frequent GC, etc.

Immutable data doesn't have threading issues, which is the beauty of them.



More information about the Digitalmars-d mailing list