--- On Wed, 6/9/10, David E Jones <d...@me.com> wrote: > On Jun 9, 2010, at 4:56 PM, Adrian Crum wrote: > > > On 6/9/2010 3:44 PM, Adam Heath wrote: > >> Adrian Crum wrote: > >>> I remember when Javolution was first brought > into the project. The > >>> reason for adding it was better performance. I > was new to the project at > >>> the time, so I just assumed that was true. > >>> > >>> Since then I have read many books and articles > on Java, and now I'm not > >>> sure that Javolution is appropriate for this > project. > >> > >> I've also had doubts about > FastMap(javolution). It doesn't implement > >> ConcurrentMap; the putIfAbsent method it *does* > implement is not > >> completely defined. > >> > >> FastSet/FastMap don't have a defined order. > It appears to be linked, > >> when no Comparator is used, but that is not well > defined. > >> > >> javolution itself is supposed to be defined as > being more consistent > >> in memory usage and performance. The library > says these are useful > >> when the target platform is an embedded > environment. However, ofbiz > >> is not really an embedded-type application. > The extra overhead that > >> javolution uses for maintain memory block areas > makes it very hard for > >> the jvm to do the new fancy escape analysis. > >> Lots of places in ofbiz use > FastMap/List/Set. They are not useful, > >> however, in places that only get populated at > startup, and never ever > >> changed thereafter. I've started fixing some > of these use cases as I > >> spot them. > > > > I've used arrays instead of Lists in similar cases. We > really should have a discussion about this. Using Javolution > by default in a shotgun attempt to improve performance is > not a good strategy, in my opinion. > > I agree. If I understand correctly are you saying that the > move away from javolution will NOT be done as a shotgun > attempt to improve performance?
Correct. Any changes that are made should be for a good reason. -Adrian