|
From: | Mikael Djurfeldt |
Subject: | Re: guile 3 update: instruction explosion for pairs, vectors |
Date: | Fri, 19 Jan 2018 15:02:59 +0100 |
Thinking more globally, there are some more issues -- one is that
ideally we need call-site specialization. A GF could be highly
polymorphic globally but monomorphic for any given call site. We need
away to specialize.
Secondly, it would be nice of course to have speculative optimization,
including speculative inlining and type specialization not only on GF
arguments but also arguments to regular calls, types of return values,
and so on.
Finally I wonder that if we had the latter, if it matters so much about
optimizing generic functions in any kind of specific way -- instead you
could just have a generic optimizer.
Of course the speculative optimizer could work on traces instead of
methods, and in that case we'd get a lot of this stuff for free... but
that's a question for farther down the road. See
http://scheme2016.snow-fort.org/static/scheme16-paper3.pdf .
[Prev in Thread] | Current Thread | [Next in Thread] |