freenode/#clasp - IRC Chatlog
Search
21:56:53
drmeister
Since we did the x.characterp() test we don't need to use gc::As<Character_sp>(x)
21:58:06
drmeister
gc::As_unsafe<Character_sp>(x) is for when you KNOW x is a Character_sp and you just want the compiler to treat it like one - it's a zero cost transformation.
22:15:52
drmeister
And so now we should be able to compile the stock Mcclim - I'm building and testing now.
1:57:50
drmeister
I think that's what the problem is. If you run a tight loop that generates lots of threads and joins them I don't think the overhead is that high.
2:06:56
drmeister
So that's going to be the time it takes for the threads that are still compiling to finish.
2:08:35
drmeister
The contention that I'm seeing is a little hard to demonstrate. If you profile compile-file-parallel you will see that the top thread that compiles the ASTs spends a lot of time in llvm.
2:09:30
drmeister
So then I tell it to use the interpreter rather than the compiler when generating ASTs.
2:16:30
drmeister
So THEN I tell it to not launch threads to compile the ASTs to native code and then the AST generation is 10x faster
2:17:47
drmeister
Bike: I'm still having trouble saving CLOS objects with the printer in a readable way- what did I need to do to add that for an object?
2:36:14
drmeister
But if I want to print the class of an object and the slots in a way that I can recreate the object when I load the file...
2:55:04
Bike
like #.(make-instance whatever :slot1 #1=something :slot2 #1#) is possible if two slots have the same value