[Prev][Next][Index]

pC++ processes are BIG!



(I tried to send this message a couple days ago, but am not
sure if it got through then with all the rainier problems).

Hello,

I wonder why pC++ programs take _so_ much space when run on SGI
machines. I took the simple.pc program from
TestSuite/Simple/simple.pc, inserted a busy wait loop 
somewhere into it 

    double x = 1, y;
    for(i=0; i<1000000; i++) {
      y = x*2;
      x = y/1.999999;
    }
  
so that I would have some time to observe the program's behavior,
and compiled it for sgimp (sgi4k architecture), and ran it on ireland,
with the option -pcxx_PROCNUM 1. (After all, there is only 1 processor
on ireland).

"top" (the SGI program for monitoring the machine load) showed the
following statistics:

IRIX ireland 5.2 02282014 IP17 Load[0.18,0.05,0.01] 17:46:17   86 procs
    user   pid  pgrp   %cpu proc  pri  size   rss    time  command        
 vmenkov 17383 17383 147.65    *   94 33093    66    0:12  sgimp
 vmenkov 17033 17033   1.02    0   60   388   100    0:18  top  
....

Acccording to the manual for "top", "size" here is "process size (in
pages)". I was told that a page is 4 kbytes,  but I am not sure (I did
not call getpagesize(), after all).

Anyhow, 120 Megabytes seems a tad too much for a program that,
essentially, prints "Hello world!". Any guesses about where memory
goes, and what can be done to reduce the process size? 

programs compiled for uniproc don't request particularly lareg amounts
of memory, BTW.

	--Vladimir