Hello Vitaly, I tried with Xerces 3.1.4, and I get and big improvement in document loading, as described in https://issues.apache.org/jira/browse/XERCESC-2211, something between 3x and 4x. However I can not get XQilla to build with it.
But anyway: since this is a new important project, it does NOT seem to me a good idea to choose a 6 years old dead branch, and to stick to it for years. I am very surprised that authors do not take in consideration to rewrite the code to optimize it, as there is a tremendous slow down between 3.1.x and 3.2.x. > -----Messaggio originale----- > Da: Vitaly Prapirny <vitaly.prapi...@gmail.com> > Inviato: giovedì 21 luglio 2022 11:32 > A: c-users@xerces.apache.org > Oggetto: Re: Xerces-C++ and XQilla bad performance > > So you can try version 3.1.4 and see if it makes things better in your case. > > Good luck! > Vitaly > > > On Thu, Jul 21, 2022 at 12:14 PM Davide Capodaglio < > davide.capodag...@axelsw.it> wrote: > > > I am using latest versions, Xerces-C++ 3.2.3 and XQilla 2.3.4. > > So probably I am seeing the dynamic_cast impact (but I can not do > > anything obviously). > > > > I am using no schema, no validation, no namespaces. > > Thanks > > Davide > > > > > > > -----Messaggio originale----- > > > Da: Vitaly Prapirny <vitaly.prapi...@gmail.com> > > > Inviato: giovedì 21 luglio 2022 10:46 > > > A: c-users@xerces.apache.org > > > Oggetto: Re: Xerces-C++ and XQilla bad performance > > > > > > Hi Davide, > > > > > > Other factors affecting xerces performance are xerces version ( > > > https://issues.apache.org/jira/browse/XERCESC-2211) and usage of > > > validation (https://xerces.apache.org/xerces-c/schema-3.html). > > > > > > Good luck! > > > Vitaly > > > > > > > > > On Thu, Jul 21, 2022 at 11:34 AM Davide Capodaglio < > > > davide.capodag...@axelsw.it> wrote: > > > > > > > Hi Roger, > > > > I already tried to compile xerces with ICU but it makes no > > > > difference at all. > > > > However on Windows platform also MSXML internally converts all to > > > > UTF-16 (because everything on Windows nowadays uses Unicode with > > > > wchar_t=UTF-16), and Xerces uses internal Windows API, but I see > > > > more than a 2x slowdown then MSXML for a just a load of a document. > > > > > > > > But, as I said my big performance problem is with XQilla queries. > > > > > > > > Also in my benchmarks of the selectNodes() I am already specifying > > > > u16 literals. > > > > > > > > I will try to use valgrind, but I have very few hopes at the moment... > > > > > > > > Thanks > > > > Davide > > > > > > > > > > > > > -----Messaggio originale----- > > > > > Da: Roger Leigh <rle...@codelibre.net> > > > > > Inviato: giovedì 21 luglio 2022 01:49 > > > > > A: c-users@xerces.apache.org > > > > > Oggetto: RE: Xerces-C++ and XQilla bad performance > > > > > > > > > > Hi Davide, > > > > > > > > > > I would suggest running your program under valgrind with > > > > > kcallgrind and profiling the execution. When you view the > > > > > results, you should see where the hotspots are. > > > > > > > > > > Based upon my previous profiling experiments, I suspect you'll > > > > > find that > > > > over > > > > > 50% of the runtime is spent in the transcoder doing UTF-8 to > > > > > UTF-16 conversions (and vice-versa). > > > > > > > > > > If this is the case, I would suggest trying a different > > > > > transcoder and reprofiling. This may be where the Windows > > > > > performance > > difference > > > lies. > > > > > An additional optimisation would be to reduce the number of > > > conversions. > > > > > For example, if you are repeatedly transcoding a UTF-8 string > > > > > for use > > > > with a > > > > > function requiring UTF-16, you can cache the conversion. Or use > > > > > char16_t with u16 string literals. At the expense of > > > > > portability with older > > > > compilers. > > > > > > > > > > Kind regards, > > > > > Roger > > > > > > > > > > > -----Original Message----- > > > > > > From: Davide Capodaglio <davide.capodag...@axelsw.it> > > > > > > Sent: 20 July 2022 14:44 > > > > > > To: c-users@xerces.apache.org > > > > > > Subject: Xerces-C++ and XQilla bad performance > > > > > > > > > > > > Is there any known way to optimize the performance of > > > > > > Xerces-C++ and XQilla in both loading and XPath execution? > > > > > > > > > >