Purity (D2 standard libraries / object.d)

Michel Fortin michel.fortin at michelf.com
Sat Jan 10 06:16:59 PST 2009


On 2009-01-10 00:10:11 -0500, Andrei Alexandrescu 
<SeeWebsiteForEmail at erdani.org> said:

>> The problem is identifying if this would be faster than recomputing the 
>> return value.
> 
> I used memoizers for exp and log (the most called functions in some 
> code I wrote) and it made the original version feel like it was driving 
> in reverse.

That's only true because, in your specific context, those functions 
were called often with the same input. In a program that rarely use the 
same inputs, your memoizing functions will just waste time and memory.

So to determine if a function is worth memoizing, you have to say yes 
to those two things:

1.	is it faster than recomputing the return value?
2.	is this function called often with the same inputs?

While the compiler could take an educated guess at answering 1 given 
the code of a function, question 2 can only be answered by knowing the 
usage pattern of various functions.

-- 
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/




More information about the Digitalmars-d mailing list