freenode/#clasp - IRC Chatlog
Search
16:00:30
drmeister
Bike: I think there are issues with build times with the new discriminating function compiler.
16:02:02
drmeister
The compiler relies on unwinding. The parallel compiler runs in multiple threads.
16:03:23
drmeister
I'd like to test this. Can you turn on and off the new discriminating function compiler? Switch between the old code and the new code?
16:03:52
Bike
yeah, like in that file i gave you at some point, you can define a discriminate macro with the new code under a different name
16:04:07
Bike
and then swap it in and out like (rotatef (macro-function 'discriminate) (macro-function 'discriminate2)) or the like
16:23:00
Bike
i jus tdon't understand what could be happening to slow down the build just from a few clos functions having... something... happen to them
17:01:35
drmeister
Do you want an account on a linux machine? Or do you have access already to 'hermes'? It's the linux machine that is in my house.
17:02:35
drmeister
We could also turn off the parallel compiler and build with that and compare timing on linux. That is less sensitive to multithreaded unwinding issues.
17:04:01
drmeister
I conjecture that it's multithreaded unwinding because on macOS there is little difference between the new code and old code and on macOS they have better multithreaded unwinding. On linux multithreaded unwinding has terrible problems.
17:08:33
drmeister
If the discriminating function compiler is only activating for satiation - and the interpreter is being used for GF dispatch - it doesn't make sense that quicklisp compilation would slow down.
17:09:22
Bike
some of the functions in clos have their discriminating functions put together by cleavir at build time, using the discriminating function compiler. if there's a dispatch miss they'll be replaced with the interpreted version.
17:09:42
Bike
so it would have to be something like, some of those functions are extremely slower, but also they never dispatch miss.
17:22:08
Bike
by the way, i'm also seeing that build time increased from around 18min to 22min independent of my changes
18:35:00
Bike
the change i just pushed will cause some bizarre unbound function errors until you purge fasls, jsyk