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

