libera/#sbcl - IRC Chatlog
Search
9:29:50
lukego_
My mental model is that a boxed allocation for arithmetic will cost ~100x more than an array bounds check. I don't think I'd bother looking into ABC until after I was sure the arithmetic in inner loops was unboxed. Could be off, drawing on LuaJIT experience, but it does seem like modern wide superscalar CPUs aren't too fussed about ABCs that can be speculatively executed through
9:30:19
lukego_
I will be prepared to eat those words on my next optimization session in a week or two though :)
9:37:11
lukego_
aside: I wrote profiler tooling for LuaJIT that is indeed able to tell you if array bounds checks are a hotspot, i.e. is able to associate profiler samples with specific IR instructions, of which ABC is one. it's nice :)
9:37:45
lukego_
I guess you can get a similar effect in SBCL with #'disassemble annotating profiler samples on machine instructions
9:42:46
|3b|
possibly we are just thinking of the same things in different ways and would end up with the same thing... i'd remove generic / untyped math and get minimal boxing, while you remove the boxing and get specialized math :)
9:43:36
|3b|
and yeah, bounds checks are probably small relative to generic math. harder to say compared to specialized math with boxes
9:45:00
|3b|
ACTION was probably also thinking more of generic array access as being a likely problem, now that i think about it more. bounds checks would be a final details thing