Login | Register
My pages Projects Community openCollabNet

Reply to message

* = Required fields
* Subject
* Body
Send reply to
Author (directly in email)
Please type the letters in the image above.

Original message

Author Bob Tarling <bob.tarling@ntlworld.com>
Full name Bob Tarling <bob.tarling@ntlworld.com>
Date 2004-01-11 11:08:30 PST
Message I've been thinking about performance issues in GEF and wondering about making GEF more array oriented than Collection oriented, particularly as far as FigGroups are concerned.

All the FigGroups I've seen in actual applications are of a fixed size so there is no great benefit in storing contents in a collection rather than an array.

I'm considering making a distinction between those FigGroups that are a fixed size or not. Fixed size figs will use an array as their store and variable sized figs will use an ArrayList.

I'll probably determine which to create by whether a Fig implements a certain interface. I've previously mentioned a possible interface such as

    Collection getFigs()
    Fig getFigAt(int i)

Maybe we should have 2 extensions of this VariableFigContainer and FixedFigContainer

FixedFigContainer would add no extra methods but act as a trigger to indicate storage by array.
VariableFigContainer would indicate storage by ArrayList and would enforce the methods like
    void addFig(Fig f);
    void removeFig(Fig f);

I'd also like a test app put together to test performance issues. Something that will automatically create a graph of a given number of nodes and help with timing drags and so on. I'd like to know that from one release of GEF to the next that we are not adding to any perfomance problems the client app may already have.