
On Thu, 2007-06-21 at 00:20 +0100, Claus Reinke wrote:
in practice, overloading introduces overhead that might hamper performance.
You mean overloading in general, so using type classes? Is this comparable to the Java/C#/C++ overhead with virtual methods, so one extra level of indirection before the function gets called? Or is it much worse?
usually, don't worry about it. if a program really is slow, still don't worry about it, but find out where that program is slow. only if a program is slow in an area that uses overloading, see:
Is this something that could be caught by profiling? Could profiling somehow notice what specific type a polymorphic function is called with, and more or less explicitly suggest which functions to specialize? (I guess I'll soon be asking for profile directed optimization :-) -k