[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xerces-c-dev
Subject:    [jira] [Updated] (XERCESC-2211) Xerces 3.2.0 (and newer) perfomance issue
From:       "Andrii (Jira)" <xerces-c-dev () xml ! apache ! org>
Date:       2020-11-17 16:02:00
Message-ID: JIRA.13341099.1605628696000.197152.1605628920224 () Atlassian ! JIRA
[Download RAW message or body]


     [ https://issues.apache.org/jira/browse/XERCESC-2211?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]

Andrii updated XERCESC-2211:
----------------------------
    Description: 
We are using Xerces library to parse huge(about 10 000 lines) XML configuration file \
while starting one of our core application.  

After switching from 3.1.4 to 3.2.0 version we started observing perfomance issues. \
Parsing now takes about 3-4 seconds (previously it took less then 1 second).

I've made an investigation and found that almost all time is consumbed by \
"castToChildImpl" function inside "DOMCasts.hpp" source file.

I've also noticed that in this function ("castToChildImpl") in 3.2.0 version \
"dynamic_cast" is used for type conversion. Previously (in 3.1.4) usual c-type cast \
was used. I made additional measurements and found that most of time consumed by \
"castToChildImpl" function (about 3 out of 4 seconds) is spent exactly on this line \
of code with "dynamic_cast":

"_HasDOMChildImpl *pE = dynamic_cast<HasDOMChildImpl*>(p);_"

Can we deal somehow with this?

Thank you.

  was:
We are using Xerces library to parse huge(about 10 000 lines) XML configuration file \
while starting one of our core application.  

After switching from 3.1.4 to 3.2.0 version we started observing perfomance issues. \
Parsing now takes about 3-4 seconds (previously it took less then 1 second).

I've made an investigation and found that almost all time is consumbed by \
"castToChildImpl" function inside "DOMCasts.hpp" source file.

I've also noticed that in this function ("castToChildImpl") in 3.2.0 version \
"dynamic_cast" is used for type conversion. Previously (in 3.1.4) usual c-type cast \
was used. I made additional measurements and found that most of time consumed by \
"castToChildImpl" function (about 3 of 4 seconds) is spent exactly on this line of \
code with "dynamic_cast":

"_HasDOMChildImpl *pE = dynamic_cast<HasDOMChildImpl*>(p);_"

Can we deal somehow with this?

Thank you.


> Xerces 3.2.0 (and newer) perfomance issue
> -----------------------------------------
> 
> Key: XERCESC-2211
> URL: https://issues.apache.org/jira/browse/XERCESC-2211
> Project: Xerces-C++
> Issue Type: Bug
> Reporter: Andrii
> Priority: Major
> 
> We are using Xerces library to parse huge(about 10 000 lines) XML configuration \
> file while starting one of our core application.   After switching from 3.1.4 to \
> 3.2.0 version we started observing perfomance issues. Parsing now takes about 3-4 \
> seconds (previously it took less then 1 second). I've made an investigation and \
> found that almost all time is consumbed by "castToChildImpl" function inside \
> "DOMCasts.hpp" source file. I've also noticed that in this function \
> ("castToChildImpl") in 3.2.0 version "dynamic_cast" is used for type conversion. \
> Previously (in 3.1.4) usual c-type cast was used. I made additional measurements \
> and found that most of time consumed by "castToChildImpl" function (about 3 out of \
> 4 seconds) is spent exactly on this line of code with "dynamic_cast": \
> "_HasDOMChildImpl *pE = dynamic_cast<HasDOMChildImpl*>(p);_" Can we deal somehow \
> with this? Thank you.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic