freenode/#sbcl - IRC Chatlog
Search
12:14:59
stassats
ok, why is there a t16 in the first place, it's (let ((z (if m 10 20)))) why isn't 10/20 moved to Z, but through t16
12:16:05
stassats
tried to improve the debug information generated from &key, and there's so many things
13:18:28
stassats
i can avoid creating that "t16" during ltn annotation, but i'm sure it'll break something in stack analysis
14:02:24
phoe
I have a weird case where defining methods like (defmethod ensure-class-using-class ((class (eql (find-class 'fred2))) (name (eql 'asdfg2)) &key) nil) becomes progressively slower over time with 100% CPU usage.
14:13:32
phoe
I'll first double-check if I'm using ENSURE-CLASS-USING-CLASS correctly or if I am not screwing something up.
14:29:21
pfdietz
I just wrote a simple benchmark that defines a bunch of EQL methods, then repeated invokes the function with the various values in the EQL specifiers. The time (for invoking the function, not including method definitions) does scale superlinearly.
14:34:29
pfdietz
When I pull out a loop to invoke the methods on all the EQL parameters, the subsequence executions are fast. I assume loading the dispatch hash table (it uses that, right?) is the slow part.
14:34:37
phoe
I've noticed it because if I run the tests for a library I'm writing first time, they finish in under a 1/10 second.
14:37:25
phoe
My method attempts to remove itself via REMOVE-METHOD after being called. It's a trick I'm using.
14:37:48
phoe
I define a method that calls REMOVE-METHOD + FIND-METHOD on its own specializers and qualifiers.
14:39:20
pfdietz
I wonder if REMOVE-METHOD will work properly when called on a method that is currently active.