Very slow compilation, out of memory problems on build 14964
| Bugzilla Link | 287 |
| Created on | Aug 24, 2006 16:39 |
| Resolution | FIXED |
| Resolved on | Oct 03, 2006 21:16 |
| Version | 1.00beta |
| OS | Linux |
| Architecture | PC |
Extended Description
I spent some time today looking at these problems. NASmg_rotate.sac is typical: 1. Several compiler phases(phase 11 SCI, phase 12 eliminating loops and conditionals, phase 15 inlining lac fns, preparing code, code generation) all run for extended periods (5-10 minutes!) of time. Eventually, I'll take a look at SCI with a profiler and see if I can tell what's up, but we likely either have huge lists of locals, or a huge number of functions. Or both... 2. Compiling with "sac2c -O3 NASmg_rotate.sac" eats most of a 1.5GB machine. I saw over 1GB allocated after SCI, and about 1.2GB during C code creation. If I run it on an otherwise naked machine (no multiple sessions running), it squeaks by with "top" reporting 26MB free at some points. If I crank up an APL session that eats 100MB, the C compiler invocation dies on out-of memory: ------------------------------------- * 17: Creating C file: ... Writing file "NASmg_rotate.exe.c" ** 18: Invoking C compiler: ... ABORT: System failure while trying to execute shell command. ABORT: (e.g. out of memory). *** Compilation failed *** *** Exit code 18 (Invoking C compiler) *** 1 Error(s), 290 Warning(s) ABORT: System failure while trying to execute shell command. ABORT: (e.g. out of memory). *** Compilation failed *** *** Exit code 18 (Invoking C compiler) *** 2 Error(s), 290 Warning(s) ABORT: System failure while trying to execute shell command. ---------------------------------------------------- Perhaps the nearly 1.3GB of AST and friends were not given back to the system before invoking the C compiler?