Andrew Haley wrote on 11/04/2005 13:31:52:
> Steven Bosscher writes:
> >
> > This is what C++ does now too. Why would this be a problem
> > for Java but not for C++?
>
> I don't know why it's not a problem for C++; I do know why it's a
> problem for Java. Perhaps the files we're compiling are larger.
> Certainly jarfiles can get to be very large, and once gcc's store
> starts to exceed the size of physical memory things can get very
> painful.
>
...
> Steven Bosscher wrote:
>
> > (The proper solution is of course to have an IR that we can
> > stream to disk, *sigh* ;-)
If a program's memory usage exceeds the physical memory, then it will be
paged in and out to the disk by the OS, and if the OS's paging algorithm
doesn't fit well the program it will be painful. IMHO, streaming the
memory used by GCC to disk or letting the OS page it in/out can introduce
the same problem; we aren't solving the problem we are moving the
responsibility of solving it from the OS side to GCC's side.
Moreover, it sounds to me that the way we jump from one function/class to
the other should be paging (and cache) friendly; we usually do a lot of
things to one class before we move to the other; that is the expected
behavior from programs from the side of the OS (the paging system). So what
am I missing here?
Mostafa.