freenode/#clasp - IRC Chatlog
Search
6:32:17
karlosz
::notify Bike do you mind reviewing the pull request i sent in to sicl about inlining i sent in a while ago? some feedback on the general approach would be nice because its been sort of a long standing issue in the compiler for a bit
14:26:10
wuehlmaus
actually the city where cracauer` lived before he flew to the states decades ago so we both do know eachother
14:29:09
kpoeck
I did a comparison between ast and cst builds, latest everything from this morning, no private patches
14:30:46
kpoeck
Full builds comparison for every between ast and cst build is here: http://kpoeck.github.io/Compile-ast-cst.xlsx
14:32:03
kpoeck
Flamegraph for ast executing cl-bench.misc:run-compiler here: https://kpoeck.github.io/ast-cl-bench-compiler.svg
14:32:57
kpoeck
Flamegraph for cst executing cl-bench.misc:run-compiler here: https://kpoeck.github.io/cst-cl-bench-compiler.svg
14:35:08
kpoeck
In this benchmark, there are no additional inline declarations, so will chase another that has inline declarations
14:36:25
drmeister
That's the code I'm profiling - I'm not sure if it's the best but it's a place to start.
14:59:21
drmeister
::notify Bike Do we have a problem in predlib.lsp? There is the data structure *elementary-types* that is not thread safe. It's an alist and that may be why we have not run into serious problems where two threads modify it at the same time. Also, macroexpansion spends a lot of time in canonical-type - that updates *elementary-types*.
15:00:23
drmeister
When we need a fix that propagates to other people I fork the broken github project, fix my local copy and add it to the pile of github repos that we pull in explicitly.
15:03:44
drmeister
I don't know where to make that change - can you make a recommendation or make the change?
15:04:58
drmeister
We don't have a umask function in clasp - clasp/src/core/unixfsys.cc would be the place to add it.
15:10:58
cracauer`
if I rename esrap-20190521-git to local-projects/esrap, will that still be picked up and not retrieve the esrap-20190521-git version?
15:11:34
drmeister
kpoeck: That took a while to figure out. Clasp backtraces are very deep - you need to collect them all because if you collect 3999 and it's 4000 deep then you lose the bottom most one and that backtrace is shifted relative to all the others and the flame graphs break.
15:12:12
drmeister
But if I try to render flame graphs with 4000 deep backtraces - that takes forever on chrome - it doesn't work.
15:12:57
drmeister
Here I'm describing the backtraces/stack as main is at the bottom and the most recent function called is at the top.
15:14:15
drmeister
cracauer`: My experience is that anything in local-projects overrides everything and esrap won't be retrieved by quicklisp.
15:14:42
cracauer`
so it gets the module name from inside the module, not by the module's directory name?
15:15:27
cracauer`
Chris, do you remember why we have 2 locations for quicklisp modules for a full cando+jupyter build?
15:16:28
drmeister
kpoeck: That's what all the sbcl scripts in src/profiler do - they post-process the dtrace output by adding symbols, cutting out uninteresting backtrace frames and cropping the backtraces so that we can see the most important information in the flamegraphs
15:18:25
drmeister
We moved to /opt/clasp/lib/quicklisp when you made the excellent suggestion that we get our sh*t together and control and version all of these packages and put them in /opt/clasp
15:19:13
kpoeck
cracauer: local-projects takes preference and the name of the directory is not relevant
15:19:27
drmeister
Then for some reason, there was a really good reason recently to move quicklisp into clasp/src/lisp/modules/quicklisp/... like asdf is in clasp/src/lisp/modules/asdf/ - but I don't remember why.
15:22:43
drmeister
Do you recall why we did this? I'm sure I didn't do it unilaterally, we must have talked about this.
15:23:00
kpoeck
drmeister: Here is my flamegraph for compiling math.lisp from cl-bench: https://kpoeck.github.io/ast-cl-bench-math.svg
15:24:35
drmeister
kpoeck: I have a better cleanup script for you that will remove the frames that contain TOP-COMPILE-FILE.
15:25:45
drmeister
kpoeck: I just pushed a change to stacks.lisp that should improve the flame graphs.