libera/#sbcl - IRC Chatlog
Search
16:46:36
luis
We have a gf with 800 methods (first argument is always eql specialised and then second and third are specialised for a couple of classes) and it's slow enough to call the first couple of times that users are complaining. I just found this https://github.com/qitab/bazelisp/blob/99d8899657f30942956ed47f9648bca99324ecc3/sbcl.lisp#L133 has SBCL got
16:59:50
luis
That bit of code gives up if there's more than 10 methods and eql specializers are combined with class specializers. I have 800.
17:03:42
luis
What I don't understand is why it's slower to invoke the gf the first time than to precompile it. (I have seen that before in past experiments.) Makes no sense.
17:46:51
scymtym
without knowing the specifics, is it possible that the case with precompilation compiles the discriminating functions once whereas the usual behavior compiles the discriminating function roughly once for each newly encountered combination of arguemnt classes?