freenode/#clasp - IRC Chatlog
Search
3:09:35
drmeister
I have to use (return-from whatever-function-im-in) to guarantee I'm returning from the current function - right?
3:09:55
drmeister
I'm going to short circuit the compiler and cut everything about LLVM out of the loop.
3:20:57
karlosz
oh great. its not the stack that overflows when self compiling now, its the heap that runs away, eating up all the ram i have
3:23:23
drmeister
I defined a special variable that causes the compiler to short circuit before it starts generating instructions and lowering it to native code.
3:25:07
drmeister
Maybe I screwed up the previous timing? It's kind of tricky to count all of the time spent in llvm.
3:31:55
drmeister
I set this special variable and COMPILE returns immediately in layout-basic-block and then returns immediately from everything that calls it.
3:42:43
Bike
first it means we should do some more comprehensive examination, because i thought this was the case before and you did some timing and hey it wasn't
3:46:29
drmeister
I'm thinking aloud now. I wrap (catch :dont-generate-code ...) around the body of COMPILE.
3:47:30
drmeister
And the first form in (defun translate (...) (when *dont-generate-code* (throw :dont-generate-llvm nil) ... ))
3:59:52
drmeister
I move the (when *dont-generate-code* (throw :dont-generate-llvm nil)) to after the call to (translate ...)
4:00:10
drmeister
(time (let ((clasp-cleavir::*dont-generate-code* nil)) (ccomp 1000))) --> 23.2 secs
4:05:28
drmeister
The time definitely keeps increasing each time I (time (ccomp 1000)) it increases by 2-3 seconds
4:17:20
drmeister
The llvm time in TIME is off by a few seconds but not off by an order of magnitude.
4:18:26
drmeister
So it's generating llvm instructions - but doesn't optimize the module or lower it to native code
4:19:17
drmeister
With full compile (code generation) --> 28.9 seconds and LLVM time reports 14.6 seconds
4:24:55
drmeister
This means 90% of the time is spent optimizing and generating code for the module.
4:25:52
drmeister
Last one for the night - I'm moving the throw right before the jit-finalize-repl-function
4:45:23
drmeister
Found it - I was compiling a function in jit-setup.lsp and it doesn't include an (in-package :cmp) because that macro isn't defined that early
4:50:48
drmeister
I'm running 100 truncated compiles and moving the throw around the jit-add-module-return-function
8:25:36
heisig
I made good progress with the hoisting this weekend. I think I need about two more weekends until completion.
8:42:02
heisig
It is a fun problem with lots of recursion on circular data. The fast pace of karlosz has motivated me to hurry up.
11:33:42
heisig
Interesting news: I will be in Philadelphia next week, where I present Petalisp at the ARRAY 2018 workshop.
11:34:29
heisig
If anyone of you is at Temple University on June 20, I could stop by for a cup of coffee.
11:44:21
drmeister
::notify karlosz I think you forgot to add some files to your git repo - to start cleavir-generate-ast.asd is missing.
12:00:12
drmeister
heisig: Everyone will be around other than myself - my lab is 15 people - so please plan to visit us.
12:24:00
drmeister
I think I was wrong about the missing files in clisp - I need to install sicl the way that karlosz has.
12:28:06
drmeister
I gotta figure out how to get asdf configured to find sicl systems on clisp - grrr