[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [xml] xmlReadFile/xmlReadMemory - Performance or Concurrency problem
- From: Daniel Veillard <veillard redhat com>
- To: Martin Trappel <0xCDCDCDCD gmx at>
- Cc: xml gnome org
- Subject: Re: [xml] xmlReadFile/xmlReadMemory - Performance or Concurrency problem
- Date: Thu, 6 Nov 2008 14:30:27 +0100
On Tue, Nov 04, 2008 at 10:14:48AM +0100, Martin Trappel wrote:
> Hi there.
>
> I could use a few wild guesses, because I've quite run out of them:
> * libxml2 2.6.27
> * Windows XPsp2
>
> I have a process that is running approx 30 threads where one of this
> threads is doing some calculations and network communication with a
> hardware device. This one is the only thread that spends a measureable
> time doing anything, i.e. it takes about 10% cpu).
> So far, no libxml2 involved.
>
> Now, in an additional thread, I start up a libxml parser to parse a 4MB
> xml file. (When tested in isolation parsing of this file takes approx
> 200-300ms).
> In this process, the parsing (xmlReadFile, or xmlReadMemory call with
> file read into memory) takes btw. 2 sec and 12 sec. That ain't the
> problem and of course I expected it to take longer due to heavy load.
> The problem now is, that the xmlRead* call takes 99% cpu resources which
> causes the other thread to slow down so much that it fails due to a
> fixed timeout for msg processing we have.
>
> What is really interesting now is, that when I add some artificial
> cpu-load before or after xmlReadFile (some dummy calculations in a loop
> for 10 seconds) that takes up 99% cpu as well, but the msg processing in
> the other thread ain't aborted.
>
> Could this be due to many heap-allocations from
> xmlReadFile/xmlReadMemory? Some other process global resource that could
> be the cause?
>
> any guesses welcome!
No idea. the Windows memory allocator gave us serious problems in the
past in face of realloc() use. Thread concurency may be a problem too.
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel veillard com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]