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?

Reply via email to