FastSaxSerializer::write ...

Chris Sherlock chris.sherlock79 at gmail.com
Sun Jan 17 17:53:07 PST 2016


I think a unit test might be helpful. They are actually quite easy to write - in fact, I wrote a very simple one the other day. 

Have a look on master at vcl/qa/cppunit/font.cxx

I’m trying to write a unit test for every low level component I change or refactor, I’ve found that it doesn’t take much time to do and I’m trying to do it if only to ensure that any code I modify doesn’t break unexpectedly when I make changes further down the line. 

Let me know if you get stuck :-)

Chris

> On 17 Jan 2016, at 12:36 AM, Mark Hung <marklh9 at gmail.com> wrote:
> 
> Hi Michael,
> 
> I'd look into performance issue. 
> Is there any benchmark or unit test that I can use to check performance enhancement? 
> And what do you mean by regression test for the characters?
> 
> 
> 2016-01-16 19:33 GMT+08:00 Michael Meeks <michael.meeks at collabora.com <mailto:michael.meeks at collabora.com>>:
> Hi Mark,
> 
>         Great to see:
> 
> commit e99f22bbc499ab0566621ee0bb01e4a7747efe76
> Author: Mark Hung <marklh9 at gmail.com <mailto:marklh9 at gmail.com>>
> Date:   Sun Jan 10 00:28:14 2016 +0800
> 
>     Fix FastSaxSerializer::write() for non-BMP unicode characters.
> 
>         Clearly we don't want to mangle UTF-16 etc. characters - and the code
> looks dodgy indeed for that =)
> 
>         I'm somewhat suspicious though that this will cause some unhelpful
> performance regression; and I was wondering if you could look into
> fixing that ? and (ideally) helping out with a regression test for these
> characters ? =)
> 
>         Memory allocation of OStrings etc. via rtl/sal is rather expensive in
> most of the profiles I've seen; and particularly doing it for every
> attribute ;-)
> 
>         Would it be possible to replace the original code - but - as soon as we
> hit a non-ASCII character to convert the rest of the string, and write
> that - so something like:
> 
>         write (OString(sOutput[i], nLength-i, RTL_TEXTENCODING_UTF8), bEscape);
>         return;
> 
>         So we can get the character conversion and pairing correct - while
> keeping the lack of allocation there ? =)
> 
>         Anyhow - thanks muchly for the fix ! great to see complex text support
> improve.
> 
>         All the best,
> 
>                 Michael.
> 
> --
>  michael.meeks at collabora.com <mailto:michael.meeks at collabora.com>  <><, Pseudo Engineer, itinerant idiot
> 
> 
> 
> 
> -- 
> Mark Hung
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org <mailto:LibreOffice at lists.freedesktop.org>
> http://lists.freedesktop.org/mailman/listinfo/libreoffice <http://lists.freedesktop.org/mailman/listinfo/libreoffice>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20160118/01542563/attachment.html>


More information about the LibreOffice mailing list