libera/#sbcl - IRC Chatlog
Search
17:15:37
Krystof
stassats: can I vote for changing `(defreg #+darwin r8 #-darwin r10 20)` and descriptor-regs to have the same naming on all oses?
17:55:46
stassats
i don't think anything bad is actually happening when x18 is used, but the docs say "don't use it!"
22:58:09
sveit
i have something #sbcl might be more suited for :) i've been trying to use inline functions in place of macros, and i noticed that a certain level of detail in type annotations kill inlining, even with optimize (speed 3) (safety 0). is there a way to understand this? and more generally, how to try to get performance this way out of SBCL?
23:03:49
sveit
or is there a way to get SBCL to warn me if something that I declared inline isn't getting inlined?
23:13:27
sveit
actually in this case i was able to figure out that it was because SBCL is apparently unable to infer the type of incf-counter
23:14:04
sveit
the point is that the disassembly of test-caller-untyped and test-caller-typed-with-ftype clearly show incf-counter is inlined, but in test-caller-typed it is not
23:15:17
sveit
test-caller-typed can be compiled with (declare (optimize (speed 3) (safety 0) (debug 0))) and still not inline incf-counter
23:16:58
sveit
this is of course a simplified example where it ended up being pretty easy to tell what was going on, but sometimes lambdas and other things are passed around, or functions with a more general type than the one requested by a caller, and I wonder if this means I should just never annotate the type of functions. more generally, i'd like warnings when things aren't inlined since it seems that the reasons can be a bit subtle (unless I
0:40:22
stassats
sveit: i fixed cast elimination for local functions, should do something to one of your variants
0:58:39
sveit
stassats: amazing! will try out HEAD soon. actually, i wanted to take this chance to extend a huge thanks to you and all the maintainers of SBCL. it's become an indispensable tool for me; without it, there are probably certain approaches to problems in my work that I would never even try. so thank you again.