Thanks Jochen, (and John for your previous comments) I take your point that this is application specific, and if older JVMs do not release interned Strings this is a strong reason not to intern by default. I will put in an alternative factory, leaving the default behaviour as it is currently (no interning) and send you the diffs when this is done.
I think it might be a good idea for the implementation to write something in the logs/standard out when the factory is created, to indicate whether String intern is being used or not - since it seems an important choice for the developer to make and this might help to bring the issue into focus. Nick Extranet [EMAIL PROTECTED] - 05/10/2005 21:09 Please respond to xmlrpc-dev@ws.apache.org To: xmlrpc-dev cc: Subject: Re: Fw: [PATCH] suggested patches for memory issues [EMAIL PROTECTED] wrote: > Our application will run with approximately 1/5th of the previous memory > with the interns in (which is the difference between total success of the > project and total failure) This indicates, that your application has a lot of hits in the map of intern'd strings. In other words, intern() is good for you. (Which I wasn't discussing.) Other applications will not have such a lot of hits. In other words, they will increase the internal map without any reason: The achieved effect may be quite the converse of the desired. Interning is an application specific optimization. In general, it pays to leave the JVM doing its work without enforcing certain optimizations. I do not believe, that a general purpose library like XML-RPC should do things like that. That is my personal experience, which may not be yours, of course. However, note that Johns previous posting has already suggested that at least some JVM's may have a totally different behaviour than what you would expect. Besides, if interning would always help, then it could be made a JVM option. I am still convinced that the defaults should be left as they are. However, your numbers are clearly indicating that there are good reasons for creating a new option. Jochen This message and any attachments (the "message") is intended solely for the addressees and is confidential. If you receive this message in error, please delete it and immediately notify the sender. Any use not in accord with its purpose, any dissemination or disclosure, either whole or partial, is prohibited except formal approval. The internet can not guarantee the integrity of this message. BNP PARIBAS (and its subsidiaries) shall (will) not therefore be liable for the message if modified. ********************************************************************************************** BNP Paribas Private Bank London Branch is authorised by CECEI & AMF and is regulated by the Financial Services Authority for the conduct of its investment business in the United Kingdom. BNP Paribas Securities Services London Branch is authorised by CECEI & AMF and is regulated by the Financial Services Authority for the conduct of its investment business in the United Kingdom. BNP Paribas Fund Services UK Limited is authorised and regulated by the Financial Services Authority.