https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80960
--- Comment #4 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- I thought I recognized the Maple style here :-) Compiling with 6.3.0 on a machine with enough memory gives (gdb) r -fdefault-integer-8 -O2 tst.f90 Starting program: /usr/lib/gcc/x86_64-linux-gnu/6/f951 -fdefault-integer-8 -O2 tst.f90 getparams setparams describemodel getfhess getfgrad getf computegammas setparams_fe describemodel_fe initmodel_fe Analyzing compilation unit Performing interprocedural optimizations <*free_lang_data> <visibility> <build_ssa_passes> <opt_local_passes> <targetclone> <free-inline-summary> <whole-program> <profile_estimate> <icf> <devirt> <cp> <inline> <pure-const> <static-var> <single-use> <comdats>Assembling functions: <simdclone> getparams setparams describemodel getfhess {GC 2644206k -> 46376k} {GC 1438844k -> 59615k} getfgrad {GC 446867k -> 22490k} getf computegammas setparams_fe describemodel_fe initmodel_fe Execution times (seconds) phase setup : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 179 kB ( 0%) ggc phase parsing : 0.28 ( 0%) usr 0.26 (16%) sys 0.55 ( 0%) wall 9876 kB ( 0%) ggc phase opt and generate : 134.86 (100%) usr 1.40 (84%) sys 136.35 (100%) wall 4511154 kB (100%) ggc phase last asm : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 208 kB ( 0%) ggc garbage collection : 0.19 ( 0%) usr 0.23 (14%) sys 0.41 ( 0%) wall 0 kB ( 0%) ggc callgraph construction : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 16005 kB ( 0%) ggc callgraph optimization : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 14 kB ( 0%) ggc ipa dead code removal : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc ipa inlining heuristics : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 23 kB ( 0%) ggc ipa profile : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc ipa pure const : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 1 kB ( 0%) ggc ipa icf : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc cfg cleanup : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc trivially dead code : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 0 kB ( 0%) ggc df scan insns : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc df multiple defs : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc df reaching defs : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 0 kB ( 0%) ggc df live regs : 0.32 ( 0%) usr 0.00 ( 0%) sys 0.32 ( 0%) wall 0 kB ( 0%) ggc df live&initialized regs: 0.04 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall 0 kB ( 0%) ggc df must-initialized regs: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc df use-def / def-use chains: 0.04 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc df reg dead/unused notes: 0.16 ( 0%) usr 0.00 ( 0%) sys 0.14 ( 0%) wall 3359 kB ( 0%) ggc register information : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 0 kB ( 0%) ggc alias analysis : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.13 ( 0%) wall 18870 kB ( 0%) ggc alias stmt walking : 13.30 (10%) usr 0.09 ( 5%) sys 13.28 (10%) wall 3 kB ( 0%) ggc register scan : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 1056 kB ( 0%) ggc rebuild jump labels : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc parser (global) : 0.28 ( 0%) usr 0.26 (16%) sys 0.55 ( 0%) wall 8744 kB ( 0%) ggc inline parameters : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 15 kB ( 0%) ggc tree gimplify : 0.14 ( 0%) usr 0.01 ( 1%) sys 0.13 ( 0%) wall 25267 kB ( 1%) ggc tree CFG cleanup : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc tree VRP : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 51 kB ( 0%) ggc tree copy propagation : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc tree PTA : 0.25 ( 0%) usr 0.00 ( 0%) sys 0.25 ( 0%) wall 7 kB ( 0%) ggc tree SSA rewrite : 0.01 ( 0%) usr 0.01 ( 1%) sys 0.02 ( 0%) wall 10619 kB ( 0%) ggc tree SSA other : 0.04 ( 0%) usr 0.01 ( 1%) sys 0.05 ( 0%) wall 1 kB ( 0%) ggc tree operand scan : 0.03 ( 0%) usr 0.01 ( 1%) sys 0.05 ( 0%) wall 6330 kB ( 0%) ggc dominator optimization : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 3184 kB ( 0%) ggc tree CCP : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 3 kB ( 0%) ggc tree split crit edges : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 7 kB ( 0%) ggc tree reassociation : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc tree PRE : 1.85 ( 1%) usr 0.00 ( 0%) sys 1.98 ( 1%) wall 2938 kB ( 0%) ggc tree FRE : 0.23 ( 0%) usr 0.00 ( 0%) sys 0.21 ( 0%) wall 5651 kB ( 0%) ggc tree linearize phis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 10 kB ( 0%) ggc tree backward propagate : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc tree forward propagate : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 3 kB ( 0%) ggc tree conservative DCE : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc tree aggressive DCE : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 25 kB ( 0%) ggc tree DSE : 0.37 ( 0%) usr 0.00 ( 0%) sys 0.35 ( 0%) wall 0 kB ( 0%) ggc out of ssa : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc expand vars : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 5796 kB ( 0%) ggc expand : 0.06 ( 0%) usr 0.01 ( 1%) sys 0.07 ( 0%) wall 17953 kB ( 0%) ggc post expand cleanups : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 3 kB ( 0%) ggc varconst : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 1131 kB ( 0%) ggc forward prop : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall 4534 kB ( 0%) ggc CSE : 0.55 ( 0%) usr 0.00 ( 0%) sys 0.55 ( 0%) wall 4 kB ( 0%) ggc dead code elimination : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall 0 kB ( 0%) ggc dead store elim1 : 2.21 ( 2%) usr 0.01 ( 1%) sys 2.21 ( 2%) wall 3578 kB ( 0%) ggc dead store elim2 : 6.19 ( 5%) usr 0.00 ( 0%) sys 6.19 ( 5%) wall 1593523 kB (35%) ggc CSE 2 : 0.56 ( 0%) usr 0.00 ( 0%) sys 0.56 ( 0%) wall 1 kB ( 0%) ggc branch prediction : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 12 kB ( 0%) ggc combiner : 74.97 (55%) usr 0.90 (54%) sys 75.93 (55%) wall 2701134 kB (60%) ggc integrated RA : 9.47 ( 7%) usr 0.05 ( 3%) sys 9.50 ( 7%) wall 34802 kB ( 1%) ggc LRA non-specific : 1.60 ( 1%) usr 0.00 ( 0%) sys 1.60 ( 1%) wall 12647 kB ( 0%) ggc LRA virtuals elimination: 0.06 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 3908 kB ( 0%) ggc LRA reload inheritance : 0.54 ( 0%) usr 0.00 ( 0%) sys 0.52 ( 0%) wall 13222 kB ( 0%) ggc LRA create live ranges : 0.79 ( 1%) usr 0.00 ( 0%) sys 0.81 ( 1%) wall 3330 kB ( 0%) ggc LRA hard reg assignment : 15.83 (12%) usr 0.06 ( 4%) sys 15.90 (12%) wall 0 kB ( 0%) ggc LRA coalesce pseudo regs: 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc LRA rematerialization : 0.18 ( 0%) usr 0.00 ( 0%) sys 0.18 ( 0%) wall 0 kB ( 0%) ggc reload : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc reload CSE regs : 2.33 ( 2%) usr 0.00 ( 0%) sys 2.33 ( 2%) wall 6021 kB ( 0%) ggc ree : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc thread pro- & epilogue : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 15 kB ( 0%) ggc combine stack adjustments: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc peephole 2 : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 1268 kB ( 0%) ggc hard reg cprop : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall 389 kB ( 0%) ggc scheduling 2 : 0.93 ( 1%) usr 0.01 ( 1%) sys 0.94 ( 1%) wall 13768 kB ( 0%) ggc shorten branches : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall 0 kB ( 0%) ggc final : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.17 ( 0%) wall 19 kB ( 0%) ggc variable output : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc initialize rtl : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 12 kB ( 0%) ggc rest of compilation : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall 97 kB ( 0%) ggc remove unused locals : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc address taken : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc unaccounted todo : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 1445 kB ( 0%) ggc TOTAL : 135.16 1.66 136.92 4521418 kB [Inferior 1 (process 16943) exited normally] so approximately 4.5 GB. Hmmm... Comparing this to 4.3.2 (really old) gives Warning: Reading file '<stdin>' as free form .file "<stdin>" .ident "GCC: (Debian 4.3.2-1.1) 4.3.2" .section .note.GNU-stack,"",@progbits Execution times (seconds) TOTAL : 0.00 0.00 2.28 645 kB tkoenig@gcc14:~$ /usr/lib/gcc/x86_64-linux-gnu/4.3.2/f951 -fdefault-integer-8 -O2 tst.f90 getparams setparams describemodel getfhess getfgrad getf computegammas setparams_fe describemodel_fe initmodel_fe Analyzing compilation unit Performing interprocedural optimizations <visibility> <early_local_cleanups> <inline> <static-var> <pure-const>Assembling functions: getparams setparams initmodel_fe describemodel describemodel_fe computegammas setparams_fe getf getfgrad getfhess Execution times (seconds) callgraph construction: 0.13 ( 0%) usr 0.02 ( 4%) sys 0.15 ( 0%) wall 3054 kB ( 1%) ggc callgraph optimization: 0.20 ( 1%) usr 0.00 ( 0%) sys 0.20 ( 1%) wall 28 kB ( 0%) ggc ipa reference : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc cfg cleanup : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc trivially dead code : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 0 kB ( 0%) ggc df reaching defs : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 0 kB ( 0%) ggc df live regs : 0.39 ( 1%) usr 0.00 ( 0%) sys 0.42 ( 1%) wall 0 kB ( 0%) ggc df live&initialized regs: 0.14 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 0 kB ( 0%) ggc df use-def / def-use chains: 0.10 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall 0 kB ( 0%) ggc df reg dead/unused notes: 0.12 ( 0%) usr 0.00 ( 0%) sys 0.15 ( 0%) wall 3279 kB ( 1%) ggc register information : 1.49 ( 4%) usr 0.00 ( 0%) sys 1.50 ( 4%) wall 0 kB ( 0%) ggc alias analysis : 0.23 ( 1%) usr 0.00 ( 0%) sys 0.19 ( 1%) wall 6752 kB ( 3%) ggc register scan : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc rebuild jump labels : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 0 kB ( 0%) ggc parser : 0.38 ( 1%) usr 0.03 ( 5%) sys 0.42 ( 1%) wall 11196 kB ( 5%) ggc inline heuristics : 0.19 ( 1%) usr 0.01 ( 2%) sys 0.21 ( 1%) wall 0 kB ( 0%) ggc tree gimplify : 0.20 ( 1%) usr 0.04 ( 7%) sys 0.26 ( 1%) wall 30417 kB (14%) ggc tree eh : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc tree CFG construction : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 10646 kB ( 5%) ggc tree VRP : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.14 ( 0%) wall 159 kB ( 0%) ggc tree copy propagation : 0.25 ( 1%) usr 0.00 ( 0%) sys 0.21 ( 1%) wall 143 kB ( 0%) ggc tree find ref. vars : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 8397 kB ( 4%) ggc tree PTA : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 25 kB ( 0%) ggc tree alias analysis : 0.05 ( 0%) usr 0.02 ( 4%) sys 0.10 ( 0%) wall 4 kB ( 0%) ggc tree call clobbering : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 3 kB ( 0%) ggc tree flow sensitive alias: 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 3 kB ( 0%) ggc tree flow insensitive alias: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc tree memory partitioning: 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc tree PHI insertion : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc tree SSA rewrite : 0.08 ( 0%) usr 0.01 ( 2%) sys 0.09 ( 0%) wall 15824 kB ( 7%) ggc tree SSA other : 0.07 ( 0%) usr 0.02 ( 4%) sys 0.09 ( 0%) wall 0 kB ( 0%) ggc tree SSA incremental : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.13 ( 0%) wall 25 kB ( 0%) ggc tree operand scan : 0.20 ( 1%) usr 0.07 (13%) sys 0.28 ( 1%) wall 14719 kB ( 7%) ggc dominator optimization: 0.42 ( 1%) usr 0.02 ( 4%) sys 0.48 ( 1%) wall 7292 kB ( 3%) ggc tree SRA : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc tree STORE-CCP : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall 2640 kB ( 1%) ggc tree CCP : 0.13 ( 0%) usr 0.00 ( 0%) sys 0.14 ( 0%) wall 2029 kB ( 1%) ggc tree reassociation : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 6 kB ( 0%) ggc tree PRE : 0.91 ( 3%) usr 0.03 ( 5%) sys 0.93 ( 3%) wall 9987 kB ( 5%) ggc tree FRE : 0.51 ( 1%) usr 0.01 ( 2%) sys 0.49 ( 1%) wall 10943 kB ( 5%) ggc tree linearize phis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc tree forward propagate: 0.04 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc tree conservative DCE : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.20 ( 1%) wall 0 kB ( 0%) ggc tree aggressive DCE : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 0 kB ( 0%) ggc tree DSE : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 4 kB ( 0%) ggc tree iv optimization : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 35 kB ( 0%) ggc tree SSA to normal : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 10 kB ( 0%) ggc tree rename SSA copies: 0.04 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 0 kB ( 0%) ggc expand : 0.57 ( 2%) usr 0.00 ( 0%) sys 0.60 ( 2%) wall 22545 kB (10%) ggc lower subreg : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc forward prop : 0.26 ( 1%) usr 0.01 ( 2%) sys 0.24 ( 1%) wall 5942 kB ( 3%) ggc CSE : 1.43 ( 4%) usr 0.00 ( 0%) sys 1.45 ( 4%) wall 7 kB ( 0%) ggc dead code elimination : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 0 kB ( 0%) ggc dead store elim1 : 1.99 ( 6%) usr 0.00 ( 0%) sys 2.00 ( 6%) wall 2028 kB ( 1%) ggc dead store elim2 : 3.63 (10%) usr 0.00 ( 0%) sys 3.66 (10%) wall 919 kB ( 0%) ggc CSE 2 : 0.72 ( 2%) usr 0.00 ( 0%) sys 0.72 ( 2%) wall 3 kB ( 0%) ggc branch prediction : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 17 kB ( 0%) ggc combiner : 0.57 ( 2%) usr 0.00 ( 0%) sys 0.57 ( 2%) wall 9948 kB ( 5%) ggc regmove : 9.97 (28%) usr 0.00 ( 0%) sys 9.96 (27%) wall 2 kB ( 0%) ggc local alloc : 0.91 ( 3%) usr 0.01 ( 2%) sys 0.92 ( 3%) wall 1933 kB ( 1%) ggc global alloc : 3.89 (11%) usr 0.23 (42%) sys 4.12 (11%) wall 17960 kB ( 8%) ggc reload CSE regs : 1.90 ( 5%) usr 0.01 ( 2%) sys 1.91 ( 5%) wall 8559 kB ( 4%) ggc thread pro- & epilogue: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 10 kB ( 0%) ggc if-conversion 2 : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 3 kB ( 0%) ggc peephole 2 : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 2 kB ( 0%) ggc rename registers : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.16 ( 0%) wall 0 kB ( 0%) ggc scheduling 2 : 1.57 ( 4%) usr 0.01 ( 2%) sys 1.61 ( 4%) wall 12369 kB ( 6%) ggc machine dep reorg : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 0 kB ( 0%) ggc reorder blocks : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc final : 0.33 ( 1%) usr 0.00 ( 0%) sys 0.32 ( 1%) wall 1 kB ( 0%) ggc TOTAL : 35.61 0.55 36.29 220664 kB So 220 MB instead of 4.5 GB. Definitely a large factor.