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/

Reply via email to