[xml] xmlReadFile/xmlReadMemory - Performance or Concurrency problem
- From: Martin Trappel <0xCDCDCDCD gmx at>
- To: xml gnome org
- Subject: [xml] xmlReadFile/xmlReadMemory - Performance or Concurrency problem
- Date: Tue, 04 Nov 2008 10:14:48 +0100
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!
cheers,
Martin
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]