|
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
[Prev in Thread] | Current Thread | [Next in Thread] |