[comp.lang.c++] Locality

cmdbyk@pmvax.weeg.uiowa.edu (Karl Boyken) (04/25/91)

In article <1991Apr24.192424.23745@kestrel.edu>, gyro@kestrel.edu 
(Scott Layson Burson) writes...

>....  This is very definitely a concern I have about C++: that when people
>start manipulating 60 Mb worth of objects in one program (and I have
>already seen 30 Mb process sizes), that the locality problem is going
>to bring their machines to their knees, even though they would have
>had no trouble running the same algorithms on the same data in Lisp.
>I don't know of any allocation algorithms for C++ that pay any
>attention to locality, nor do I really see how there *can* be any,
>because the information about what other objects an object X points to
>or is pointed to by is not available at the time X is created.
>Furthermore, there is no way of doing compaction of live objects.
> 
>As I say, I am very concerned about this.  I think the C++ community
>is not prepared for the magnitude of the problem....

As someone who's participated in writing a large object-oriented
application in a C++-like language, I agree with you.  I helped write
a large Turbo Pascal 5.5 application, with 9 other programmers.  Since
the program was so large, we had to use overlays, and we had to split
the overlay file into 3 parts to distribute the app on floppies.  We
discovered that object-oriented programming caused us to hit the overlay
manager frequently; juggling the modules among the three files so that
disk swaps were minimized was a large undertaking.

    ** _My_ views, no one else's--except those I plagiarize. **
Karl Boyken, Project Analyst          | "It's so easy to slip, it's
State Health Registry of Iowa         |  so easy to fall and let your
Iowa City, IA                         |  memory drift into nothing
Internet: cmdbyk@pmvax.weeg.uiowa.edu |  at all." -- Lowell George