freenode/#clasp - IRC Chatlog
Search
19:20:52
drmeister
I just gave my talk - it went well as judged by the gauntlet of "well done's" I got leaving the podium - it will take a little while to come down and focus.
19:21:47
drmeister
But why is your body: void setf_docstring(T_sp x) const { this->fdesc()->gcrootsInModule->set(this->fdesc()->declareIndex,x.tagged_()); }
19:23:00
drmeister
Ok - so you have: void setf_docstring(T_sp x) const { this->fdesc()->gcrootsInModule->set(this->fdesc()->docstringIndex,x.tagged_()); } in your code
19:24:06
drmeister
I realized I can try -O0 very quickly with: (let ((cmp::*optimization-level* 0)) (time (compile-file "/Users/meister/quicklisp/dists/quicklisp/software/alexandria-20170630-git/numbers.lisp")))
19:34:34
drmeister
https://www.google.com/search?q=beautiful+gauntlet&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwirqNCbsqncAhWoVN8KHalzDmEQsAQIJg&biw=1230&bih=926#imgrc=FJ7BvGR279xfiM:
20:05:14
Bike
the problem is if i change the definition of (setf documentation) in clos/inspect.lsp, and build with that
20:07:21
Bike
basically it just calls setf function-docstring instead of using set-documentation or annotate or whatever
20:07:47
drmeister
Right - that sounds like the proper thing to do now that we have function-descriptions
20:41:35
Bike
i get it twice, which might be weird, since it should be setting docstrings of two different functions
20:43:59
Bike
i mean, it builds the clasp executable, but when it starts the executable to build serve-event and asdf it fails.
20:44:13
Bike
so i can start the clasp executable afterwards and it runs, but with the weird type-error.
20:45:02
Bike
with lldb i intercepted and found that it's in the alexandria form i linked before, but there's basically no info in the backtrace
20:46:17
drmeister
Not starting the debugger means something is broken. If I had a penny every time the debugger didn't start ... I'd have a lot of pennies.
20:48:36
drmeister
Try those other break points - maybe its not making it to cl__error. cl__error is the entry point from Common Lisp. The type error may be in C++.
20:48:49
attila_lendvai
hi! drmeister: do you have an estimation on how long until the dust settles on the new way of clasp startup? i.e. is it a couple of weeks, or a couple of months?
20:50:44
drmeister
General: I'm building cclasp using *optimization-level* bound to 0. Essentially -O0 for everything.
20:54:14
drmeister
Bike: It is calling ERROR - so it's coming from Common Lisp - gotta think on that.
21:21:13
drmeister
(let ((cmp::*optimization-level* 0)) (time (compile-file "/Users/meister/quicklisp/dists/quicklisp/software/alexandria-20170630-git/numbers.lisp")))
21:22:24
drmeister
When I compile cclasp using -O0 - so the compiler is now de-optimized and I'm going to compile numbers.lisp the same way I just reported...
21:23:39
drmeister
So we are spending a lot of time optimizing cclasp to get marginal improvement in performance.
21:26:26
drmeister
Bike: That type-error you are getting - it's coming from this top level form - right?
21:27:07
Bike
in a minute i'll pinpoint the particular function again, but i think it's from the(setq name (first %dolist-var))
21:28:42
drmeister
Ok, I'm going to walk and get a sandwich before the streets roll up and I'm forced to pay a ruinous price for a lousy meal in the hotel restaurant.
21:46:02
drmeister
I kind of think we must - right? We must have been testing for list before and if that was broke - then everything would be broke.
22:33:32
drmeister
Building cclasp at -O0 took 56m40s - so turning off optimization isn't that big of a win.
3:08:46
drmeister
It's what I pass to llvm, clang and I use it to turn off and on inlining of builtins.
3:11:13
drmeister
It's one dial with possible values 0,1,2,3 that means -Ox wherever I can pass a -Ox level to llvm or clang/linker and I use it to turn off and on manual inlining here...
3:11:26
drmeister
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cmp/jit-setup.lsp#L552
4:32:03
drmeister
Then I use dtrace to profile the code and then: ./prune -i /tmp/out-symbol-46440.user_stacks -o /tmp/out-symbol-46440.user_stacks_pruned -s JIT-ADD-MODULE-RETURN-FUNCTION
4:38:03
drmeister
62% of the time is in JIT-ADD-MODULE-RETURN-FUNCTION and it's mostly in code generation with about 10% of the time looking up symbols in the module.