Hey,

They way things currently work a number of types of lookups are done 
statically at startup, so as not to cause performance hits or 
synchronization penalties at runtime. However, the code is (IMO) because 
of this quite hard to read, and in a large system the startup time might 
be substantial as all possible lookups are being computed beforehand.

I think I would like to try and change this so that all find* methods, 
which implements the various visibility rules, are lazy instead, and 
that read-mostly concurrent hashmaps are used to cache the calculations 
instead. This will cause a small performance penalty on each lookup, as 
we cannot use strictly unsynchronized hashmaps anymore, but the code 
will be vastly simpler I hope, and there will not be any startup penalty 
at all.

If anyone has objections or other ideas on how to go about this, now 
would be a good time to shout :-)

/Rickard

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to