On Tue, 2003-12-02 at 16:43, Glen Mazza wrote: > --- "J.Pietschmann" <[EMAIL PROTECTED]> wrote: > > > But, as Glenn noticed, the attribute names can > > also be implemented with > > > enumeration > > > > There are no enumerations in pre 1.5 Java. What was > > meant was that > > strings denoting XSLFO property enumeration tokens > > can be interned > > as the set is of limited and more or less fixed > > size, > > No I was actually thinking static final variables, my > reference to "enumerations" was in a generic sense: > > public static final int PROPA = 1; > public static final int PROPB = 2; > public static final int PROPC = 3; > > If it is only the property names we were planning on > interning, then I thought static final variables would > be faster/more efficient instead. > > Glen
Given that there are between 249 and 380 names and they exist in both integer and String format, there isn't a lot that we can recover here. If we are after better performance, we must measure to find the 'high runner' and tune from there. To 'design-in' stuff that we think will be fast is often unproductive. This is why I have been using JMP to measure performance of FOP and some sample programs. A high runner in FOP 0.20.5 is: PropertyList.findProperty(). It calls other functions in org.apache.fop.fo that consume significant CPU resources. In one example it called itself recursively to a (depth of 10) One of the reasons I am playing with the SAXTreeValidator program is as a simplified test bed for the Property implementation. I want to be able to plug in a new Property implementation and test it independantly of the rest of FOP. -- John Austin <[EMAIL PROTECTED]>