[EMAIL PROTECTED] wrote:
> Dear Dave
> 
> Thanks for your reply. Please find my comments below.
> 
>> [EMAIL PROTECTED] wrote:
...
> 
> Unfortunately, SAX is not an option because of the compatibility to
> existing code.
> My question was that what happens to the memory allocated for the previous
> message parsing, and how I can delete them if I have to.
>
...
>> Are you sure your application isn't leaking memory somewhere?  Normally,
>> memory for a DOM instance is allocated in large blocks, so fragmentation
>> should not be a problem.  It might be, however, if your code is leaking.
> 
> Maybe, but I would call it a feature ^^.
> 
> There is still a problem without memory leaking, I think.
> Let's assume that the program is increasing memory space continusly.
> Let me clarify this by small example.
> 
> loop:
>    1: get XML message
>    2: create a parser
>    3: parse
>    4: do my job
>    5. delete a parser.
>    6. add small data to history list. Let's assume this requires 10B in
> dynamic memory
> 
> 
> So we allocated 160KB in step 2 and deallocated it in step 5, but memory
> used in step 6 may use the space returned by step 5. Then the same memory
> space cannot be used for next iteration. By this fragmentation, OS will
> not find any more big space for step 2 soon. Again this is only a guess.
Yes, I'm aware of how memory can become fragmented, but I doubt that's the
problem, unless your application is leaking memory, or you're keeping
_lots_ of small objects around.  But if that's the case, there's nothing
anyone here can help you with, since we're not in control of your
run-time's memory management implementation and you haven't shown us any
source code to see if there are leaks.

Dave

Reply via email to