libera/#sbcl - IRC Chatlog
Search
13:00:26
hayley
Unsolicited pony: compile once you hit however many constructions, and use a slow path before then?
13:14:50
Krystof
yes, though we're currently talking about precompilation for application delivery, where we know we never want to pay the slow-path or the compilation cost at runtime
13:20:13
_death
if in the normal case the class info is already available and finalized, is it not the case that eager ctor generation could work?
13:25:08
Shinmera
fwiw I don't currently, but will need, ways to eliminate as much runtime COMPILE as possible for the switch port.
13:29:12
Krystof
_death: I don't think that is necessarily the normal case. (Class finalization is somewhat expensive, so it tends to be done lazily)
13:29:55
Krystof
Shinmera: there are ways to precompile dispatch functions too, though I don't know how much they've bitrotted
13:34:07
_death
I see.. I guess for delivery it's already expected that some application specific precomputation and caching steps make for a better performing image
13:45:05
_death
a delivery library like deploy could perhaps offer a way to do general precomputations like those made possible by sb-pcl before saving
14:15:37
_death
though if you want some precompilation to happen by default, maybe a hook is not ideal
14:17:10
_death
the user would then need to remove the hook if he chooses to avoid such precompilation.. then again if it's all documented, may be ok
14:17:36
Shinmera
yeah, more than that I'd like to provide pre-made stuff when you use things like cl+ssl
14:17:47
Shinmera
but unfortunately asdf sucks and has no way to do optional dependency stuff, so :/
14:24:49
Shinmera
because I have no way to say "compile this file if this system is also going to be loaded"
14:26:54
Shinmera
If a user of deploy also needs cl+ssl I would like to provide workarounds for the combination of the two.
14:27:11
Shinmera
I cannot do this, because I cannot ask ASDF to load a source file when a foreign system is loaded.
14:39:39
_death
ok.. I assumed a user of deploy would already be aware of everything that needs bundling