freepooma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [pooma-dev] AltView* classes


From: Jeffrey D. Oldham
Subject: Re: [pooma-dev] AltView* classes
Date: Tue, 02 Mar 2004 08:19:09 -0800
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040113


James Crotinger wrote:
Hi Richard,

This tickled a neuron the other day, but I couldn't recall the details.

The AltView classes were put in to reduce link times and sizes for large codes. The classes that have enums end up having a link-time cost, both in space and time. I believe this refactoring was done to reduce the cardinality of classes having the "sv" enum. My recollection is that this, and other similar "optimizations", had a pretty substantial impact on link-time for Blanca. Unless these are hurting something else, I would tend to leave them in.

Does the CodeSourcery CVS repository have complete CVS history? (i.e. did we copy the repository, or just the head version?) This should have been easy to determine via CVS.

The POOMA CVS repository history goes back to at least 1998 March. For example, see the log for src/Array/Array.h. This log gives an entry for AltView0 and AltView1Implementation:

revision 1.141
date: 2001/05/25 17:42:48;  author: oldham;  state: Exp;  lines: +47 -6
branches:  1.141.4;
2001-05-25  Jeffrey D. Oldham <address@hidden>
        * Array/Array.h (View0): Modify initial comment to indicate
        changes should also be made to AltView0.
        (AltView0): New class to avoid explicit instantiation problems.
        (ComponentView): Modify initial comment to indicate class should
        not be explicitly instantiated.
        (Array::read()): Change return type to AltView0.
        (Array::operator()()): Likewise.

        * NewField/Field.h (View1Implementation): Modify initial comment
        to indicate changes should also be made to AltView1Implementation.
        (AltView1Implementation): New class to avoid explicit
        instantiation problems.
        (View1): Modify initial comment to indicate changes should also be
        made to AltView1.
        (AltView1): New class to avoid explicit instantiation problems.
        (Field::read()): Change return type to AltView1.
        (Field::readAll()): Likewise.
        (Field::read(s1)): Likewise.
        (Field::operator()()): Likewise.
        (Field::all()): Likewise.
        (Field::operator()(s1)): Likewise.

Perhaps this will jog Jim's memory more.  I do not remember much about this.
--
Jeffrey D. Oldham
address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]