Andrea Aime a écrit :
> Ouch, this hurts... looking at scalability profiles I noticed
> that those statements are called very often and they are limiting
> the scalability, especially when going beyond 20 client threads and
> working with features.

In my own code, I do not invoke FactoryFinder often... I tend to invoke them at 
some object initialization time and keep the factories in the object inner 
fields. It is not only a matter of performance, but also a matter of stability. 
A non-trivial code get very unexpected results when the factory can change in 
the middle of a computation. Typical example is:

   1) Projection some envelope to WGS84
   2) performs calculation
   3) Projecting back to the original CRS.

If the factory changed between 1 and 3 and if the new factory produces slightly 
different CRS (e.g. slightly different BursaWolf parameters), then the result 
have a slight offset compared to the expected results. Such offset caused by a 
different in factory are sometime hard to debug.


> If a cache is already maintained, shouldn't the calls return very
> much? Yet in that case I should not see thread contention over
> CommonFactoryFinder...

The search in the cache is performed in a synchronized block as well. It is not 
something like looking for a key in a hash map. It is something more elaborated 
involving a comparaison of hints, looking for factories dependencies and check 
recursively the hints in the dependencies as well, etc.

Any chance that Geoserver keep more long-time reference to the factories it 
use? 
It could be helpful for result stability as well...

        Martin

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to