On 03/19/2018 02:56 PM, Dimitris Vyzovitis wrote:
My gambit is configured with --enable-single-host --enable-c-opt --enable-gcc-opts.
My experience is that any optimization level above -O1, and any optimization options not included in -O1, can result in significant CPU time and/or memory usage on Gambit-generated C files with --enable-single-host, and the GCC developers generally just say "don't do that" in response (and I don't really blame them).
Still, one is more likely to get a problem like this fixed if one is willing to work with the GCC developers (give test cases, compile gcc to report internal memory usage and report results, follow up, etc.).
So my suggestion is to keep --enable-single-host (otherwise you're going through the trampoline for each function call), keep the inlining-limit default (or set it to at least 134 or 150 so data accessors and setters are inlined) and get rid of --enable-c-opt and --enable-gcc-opts.
Brad