Chamikara Jayalath wrote:

Hi All,

I went through the Sandesha2 code to find out any places we can modify or change to improve the overall performance. I thought following improvements would be useful.

1. Caching initialized messages

Currently MessageInitializer.initialize() methods get called multiple times for the Same message context (for example in Handlers, Invoker, Sender etc ). Everytime this is called the RM object model get built out of the SOAP envelope. But it will be better if we can cache this object model once it is built.

How are you going to chache this? I am interested in figuring out how to do that in C, but if you tell me how you plan for Java, that helps.
Thanks,
Samisa...


2. removing unnecessary repeated calls to the Storage Manager

There are times where the same data get obtained from the Storage redundantly. This should be avoided and data should be cached and reused whenever possible.

3. Making Sender and Invoker Thread pools

Currently Sender and Invoker are single threads. This is a bottleneck. These should be made thread pools to concurrently invoke and send messages.

4. msgNoPresentInList(String list, long no) method in Application message processor.

This method is called for every application message. Current implementetion has to be corrected to support a 'long' number of messsage numbers and the implementation has to be optimized.

6. correct and optimize 'string to ArrayList' methods

SandeshaUtil.getArrayListFromString (String str);
SandeshaUtil.getArrayListFromMsgsString (String str);


5. Cleaning code

This includes remove unnecessary or repeated object creations (which i found in some places :-) ), removing commented code, and adding some more Javadocs, and some refactoring. The basic idea is to improve the readability of the code.


Do you guys see any other areas that can be modified or changed to improve the performace of the system ?


Chamikara




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to