gzz-dev
[Top][All Lists]
Advanced

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

Re: [Gzz] PEG ``vob_colorable--humppake``: Abstract Colorable Vob


From: Benja Fallenstein
Subject: Re: [Gzz] PEG ``vob_colorable--humppake``: Abstract Colorable Vob
Date: Wed, 12 Mar 2003 18:57:02 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021226 Debian/1.2.1-9

Tuomas Lukka wrote:
On Tue, Mar 11, 2003 at 11:37:05AM +0200, Asko Soukka wrote:

Tue, 11 Mar 2003, Tuomas Lukka wrote:

   class Colorable "interface"
       methods
            +Colorable cloneColored(List colors)
            +List getColors()

Now that it's immutable, I'm actually leaning slightly towards Color[] colors...

The reason is performance: arrays perform much better than lists, especially
in kaffe where garbage collection is relatively inefficient.

Well, using Color[] implies additional parameter to provide the amount of colors in that array.

I think first null would be ok.

Good, this keeps the interface simple...


Should we now add to AbstractColorableVob a static help function to help handling Color[]?

I don't really like this; it doesn't belong there. If you want to use a list
when building it up, you can and call list.toArray

...and if this won't harm the performance there shouldn't even be nulls at the end of arrays.


It will, but the important point is that *the user* of the API is able
to avoid the hit, if desired.

But toArray() is an ugly construct and the user is not able to avoid *that*. You could have both cloneColored(Color[]) and cloneColored(List) (and potentially also, cloneColored(Color) which would seem like the most practical interface of the three).

-b.





reply via email to

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