[gambit-list] Dependeny graphs for reachable bindings: Gambit 4.9.3 vs 4.9.4
Marc Feeley
feeley at iro.umontreal.ca
Tue Jan 4 09:45:25 EST 2022
> On Jan 4, 2022, at 9:31 AM, Sven Hartrumpf <hartrumpf at gmx.net> wrote:
>
>
> Too large, will try that with a smaller program.
>
>> This might point to an optimization you need to turn off to get the
>> same result as v4.9.3 . The drop from 7178 to 6248 “reachable” procedures
>> may simply be better inlining by the v4.9.4 compiler. Turning off inlining
>> with a (declare (not inline)) may be all that is needed.
Just reading through the list of 930 definitions (7178-6248) may give you a clue if they have common characteristic (small? or from the same “module”?) or unusual properties (defined more than once?).
It could be the case that there is a single definition that is causing 929 others to be considered dead by v4.9.4 . For example your code may be calling a “print-report” procedure, and the implementation of print-report uses 929 procedures that are not used elsewhere than the implementation of print-report. If the v4.9.4 optimizer is smart enough to figure out that print-report is not actually needed, then that causes a difference of 930 dead procedures.
Marc
More information about the Gambit-list
mailing list