freenode/#clasp - IRC Chatlog
Search
15:34:54
beach
karlosz: I'll save SCC for tomorrow. I need to be alert when I read it. But I can already tell that it won't be hard to understand.
16:38:27
karlosz
i got self build through partial inlining. it only adds about 5 seconds to the build time
16:40:45
beach
drmeister has figured out the LLVM takes a lot of time. Maybe inlining increases the LLVM code size and maybe they have some quadratic algorithms in there. Just guessing of course.
16:41:40
karlosz
well i can imagine that LLVM code is much larger than HIR code, so it sounds like a good guess
16:43:05
Bike
the five seconds is just it checking everything for inlinability and determining there is none
16:45:26
karlosz
is there an advantage to cst+partial inlining vs ast inlining with generate-ast and then using partial inlining for local funs?
16:47:04
Bike
also lambda-converts lets, which fixes a bug relating to closure allocation extant in generate-ast, but also would cause a lot of slowdown that partial inlining is supposed to fix
16:47:18
beach
Well, the AST inlining duplicates inlining code, so I would like to get rid of it. The partial inlining has to be done anyway, so if it can handle the case that AST inlining handles now, then we can get rid of redundant code.
16:49:59
Bike
if you do (loop for i below 5 collect (let ((x i)) (lambda () x))) you'll get five functions that all return 4
17:08:09
karlosz
its kind of silly but having half the graph be nops actually slows down compile a bit
17:09:55
karlosz
thats unfortunate. there must not be many ways to get around that besides generating code yourself
17:15:18
karlosz
drmeister: code generation isn't intractable. i guess we can just point at sbcl for generating decent x86 code
17:18:27
Bike
i tried looking at the source but it was pretty confusing, like all CLOS implementations
17:20:27
Bike
it admits several optimizations that wouldn't be possible or useful for most generic functions.
17:36:16
karlosz
unfortunately i dont know how to build clisp on macos. but i think the program and isp stack are controlled by the os enviornment variables for stack size
19:13:30
Bike
drmeister: you were talking before about modifying function descriptions being a problem, because they're constant or something, right? how'd that work out?
21:08:43
copec
novice question: Does clasp have any julia interfaces? https://github.com/JuliaGL/GLVisualize.jl