You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "Andrii (Jira)" <xe...@xml.apache.org> on 2020/11/17 16:01:00 UTC

[jira] [Updated] (XERCESC-2211) Xerces 3.2.0 (and newer) perfomance issue

     [ 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 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 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 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