473,394 Members | 1,693 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

Xerces 2.7 vs 1.6 performance problem

Hi,

We have an application that we just upgraded to xerces-c-2_7_0-win32.
This same application used to use xerces-c1_6_0-win32.

We didnt change any other code in our app other than the xerces libs and
dlls that were used.

We are loading up large (>20mb) xml files using DOM (we should use SAX,
I know)- in 1.6 we can parse through the file and pull data on the order
of 10sec. With 2.7, this same parsing takes more than 10 _minutes_!!!!!

I have been scouring the net looking for info, but I am not an xml
expert, nor am I particularly familiar with xerces.

Can any offer any suggestions as to where I might look or clues as to
what might be going on? I found some info on deferred node expansion,
but I really dont know if this can explain this differece.

Thanks,
Bryan
Apr 10 '07 #1
5 1647
Have you tried asking on Xerces' own mailing list? That's where you're
most likely to find folks who have current understanding of the
internals of the parser and where possible bottlenecks might be. (My own
best guess is that you're having a swapping problem, but it's been years
since I looked at the Xerces-C code so I really can't advise you.)
Apr 10 '07 #2
Joseph Kesselman wrote:
Have you tried asking on Xerces' own mailing list? That's where you're
most likely to find folks who have current understanding of the
internals of the parser and where possible bottlenecks might be. (My own
best guess is that you're having a swapping problem, but it's been years
since I looked at the Xerces-C code so I really can't advise you.)
Didn't try the mailing list yet- hate those things, you get spammed with
a load of emails and they are a pain to subscribe to.

But I think I will have no choice but to give it a go soon...
Apr 10 '07 #3
Didn't try the mailing list yet- hate those things, you get spammed with
a load of emails and they are a pain to subscribe to.
Apache's mailing lists are almost completely spam-free, in my
experience. If you need expertise specifically about Apache code, they
really are the best place to find it.
--
() ASCII Ribbon Campaign | Joe Kesselman
/\ Stamp out HTML e-mail! | System architexture and kinetic poetry
Apr 11 '07 #4
Hi,

Bryan <bc*@nospam.netwrites:
Can any offer any suggestions as to where I might look or clues as to
what might be going on?
It is hard to say what exactly is causing this without seeing the
code. My guess is that in order to support requirements of future
DOM versions (e.g., DOM level 3), the implementation has changed
and become less efficient. Here is a blog post about two DOM API
functions that can slow things down significantly:

http://www.codesynthesis.com/~boris/...-dom-potholes/
Also the Xerces-C++ mailing list is a better place for this kind of
questions.
hth,
-boris
--
Boris Kolpackov
Code Synthesis Tools CC
http://www.codesynthesis.com
Open-Source, Cross-Platform C++ XML Data Binding
Apr 11 '07 #5
Boris Kolpackov wrote:
It is hard to say what exactly is causing this without seeing the
code. My guess is that in order to support requirements of future
DOM versions (e.g., DOM level 3), the implementation has changed
and become less efficient.
If you can supply samples to the Xerces developers, I'm sure they'll be
interested in investigating what has changed and improving it if they can.

Appropos of
http://www.codesynthesis.com/~boris/...-dom-potholes/
.... For years, I've been telling people that the semantice of nodelists,
specifically "live view" behavior, are a set of bugs and performance
disasters waiting to happen. The DOM Level 2 Traversal chapter provides
alternatives that can be implemented much more efficiently... or, as
suggested on the website, you can switch to explicit traversal.
--
Joe Kesselman / Beware the fury of a patient man. -- John Dryden
Apr 11 '07 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Sylwester Ba³a | last post by:
Hi, I have problem with Xerces can someone help me? I have implementation Xerces in Visual C++ 6.0. Xerces is only an interface of my application. Everything seems to be working well when I...
0
by: Waseem | last post by:
Hi I have looked and tried everything and i still cant sort this out i have no idea why this wont work I am using Xerces Perl on Windows and Debian to try this and it wont work on both of...
0
by: Jim Phelps | last post by:
After having memory leak issues with Xerces-c 2.3.0 for Solaris 2.7 for CC 6.2 I have decided to update to at least 2.4. I have downloaded the binary tarball and have installed it on my...
0
by: Dale Gerdemann | last post by:
I've been trying to use DOM level 3 with xerces-2_6_2. There's a sample called samples/DOM3.java, but I've had trouble with compilation. I've downloaded Xerces-J-bin.2.6.2 and...
4
by: Sanjay Kumar | last post by:
Folks ! I am working with VC++ after a long time and having problem linking latest xerces 2.7 in VC++ 2005 Express Edition. I have done following: 1. downloaded and unpacked the the...
3
by: Matt | last post by:
Hello, Summary: Where can one download a Xerces-C (XML pardser) dynamic library file (.DLL file) for Windows (Win98/WinNT/Win2k/WinXP/Win2003, including server flavors; don't need to support...
2
by: Vlad Zorinov | last post by:
I'm getting the following error after a couple of months of XML processing, using Xerces 2.0.0 in an apache tomcat. Does anyone have any ideas what this problem may be or what I should do to solve...
3
by: Raphael Tagliani | last post by:
(english version below) Bonjour! Je travaille sur un gros projet java, qui parse beaucoup de fichiers xml au lancement d'un serveur. Nous avons un problème de concurrence qu lancement. En...
7
by: christian.eickhoff | last post by:
Hi Everyone, I am currently implementing an XercesDOMParser to parse an XML file and to validate this file against its XSD Schema file which are both located on my local HD drive. For this...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.