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