On 2009-01-10 00:10:11 -0500, Andrei Alexandrescu
<seewebsiteforem...@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.for...@michelf.com
http://michelf.com/