freenode/#clasp - IRC Chatlog
Search
7:10:05
jackdaniel
I wouldn't be suprised, if clasp is also affected by this one: https://gitlab.com/embeddable-common-lisp/ecl/issues/457
16:01:29
drmeister
I wrote a compile-file2 function that separates out AST compilation from everything else.
16:02:34
drmeister
If I compile-file2 a file and suppress everything after compiling the AST the compilation of predlib.lsp takes 6.6 seconds.
16:05:46
drmeister
So if we parallelized the compilation after the AST we could get up to a six-fold speed up of the compiler. (assuming additional cores are kept very busy).
16:08:16
drmeister
quicklisp is serial and now it's taking more time than building the rest of the system.
16:11:04
drmeister
We are always going to be slow with the llvm compiler - we can reduce the amount of code we give it (working on that) but it's always going to be slow.
16:12:58
drmeister
Oh - the literals. No we don't have any new solutions there. What do you recommend?
16:15:35
Bike
right now we, like, compile a bunch of calls just for easy shit like numbers and conses
16:20:22
stassats
you just need to do prin1-to-string, and then read-from-string, with some special print-object mode that handles anything you need to serialize
16:21:27
stassats
which can simply print out #.(make-array 3 :element-type 'fixnum :initial-contents '(1 2 3))
16:24:50
[1]ringer1
drmeister, saw the talk to LLVM devs from a few weeks ago, excellent, hearing you speak always leaves me wanting to hear even more.
16:27:11
scymtym
Bike: drmeister: does clasp use ECLECTOR.READER:{FIXUP,WRAP-IN-*}? i would like to make those consistent with the rest of the protocol (which requires lambda list changes) as i document and test them
16:29:37
drmeister
Bike: When compile-file compiles literals - maybe we could take the literal vector and write it out using the fields/(de)serialization protocol.
16:36:03
drmeister
We have this facility built into clasp for serializing complex objects. C++ classes have a 'fields' method that serializes and deserializes objects. It works with the CL printer and handles circularity.
16:43:48
drmeister
The literal table that we generate - can we just write it out and then read it back in?