libera/#sbcl - IRC Chatlog
Search
10:43:39
luis
scymtym: if the usual behaviour is incremental why is it much slower than bulk precompilation? I.e. pre-compilattion + first call is much faster than the usual first call.
10:49:08
scymtym
my guess would be that the incremental case has to compile a new discriminating function for each newly encountered "argument signature" while precompilation compiles only once for all possible "argument signatures"
10:50:57
luis
Right, how is compiling for a single argument signature much slower than compiling for all possible argument signatures?
12:50:58
scymtym
i hope i'm not wrong after talking this much. according to my understanding, in the incremental case, each function call can cause the discriminating function to be recompiled if the "argument signature" has not been encountered before. so the individual compilations may be as fast or faster but there is a much larger number of them
12:52:24
scymtym
and i don't think the compilation work for previously encountered argument signatures is of any use when a new one is encountered
16:25:54
luis
What I'm seeing is that for a given object x, the first call to (gf x) takes much longer than the time to (precompile #'x) + (gf x).