libera/#clasp - IRC Chatlog
Search
14:20:18
Bike
mm, you ran the static analysis again... i had to do that too, but that's fine, your changes should go in first
14:21:45
yitzi
Yeah. I probably should have made that a separate commit in case there were conflicts.
14:49:46
selwynning
i was thinking more along the lines of compiling individual functions to wasm by making use of clasp's compiler to llvm
14:50:12
selwynning
i don't necessarily need the entire lisp compiler or even much of ansi to be present in what i deploy
14:53:49
Bike
clasp is not really built with the idea of having functions run freestanding like that.
15:41:25
yitzi
Bike: I just reverted return of -1 in set_column and made it return the column value directly. This match set_position, etc. vs making set_column return void.
18:05:55
Bike
one thing that sticks out in the swank perf data is that 3.5% of the time is spent in lisp_multipleValues, which does nothing but load a thread local variable. i guess doing so is pretty expensive.
18:15:43
drmeister
It takes 0.8 seconds to read the 916,200,191 bytes into a static vector with this...
18:19:48
Bike
with inline definitions disabled, the next most serious slow point in the swank perf data is eclector. it takes 18.6% of the time. that might need some closer review
18:22:40
Bike
i would still expect it to take a pretty good chunk of time since you're still making a gigabyte of objects
18:24:28
Bike
i want to fix that stuff but doing it right will be some pretty serious changes to the compiler
18:29:48
Bike
seems like it's still taking a while in fast-read-byte. might be more arithmetic problems
18:48:06
Bike
ok, dpb thing might be more fixable actually. in a quick test looks like if %ldb is inlined (which it is not, at the moment), and the inputs are declared fixnum, clasp does optimize it down to take 8 ms instead of 51 ms (a million iterations)
18:48:35
yitzi
You could use a different flamegraph library. There are some online ones. Would be nice to have lisp one
18:48:38
Bike
dunno if the type inference will handle things on its own, though. it's not super good at the log*** functions right now