<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv482578709msonormal, li.yiv482578709msonormal, div.yiv482578709msonormal
        {mso-style-name:yiv482578709msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv482578709msochpdefault, li.yiv482578709msochpdefault, div.yiv482578709msochpdefault
        {mso-style-name:yiv482578709msochpdefault;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.yiv482578709msohyperlink
        {mso-style-name:yiv482578709msohyperlink;}
span.yiv482578709msohyperlinkfollowed
        {mso-style-name:yiv482578709msohyperlinkfollowed;}
span.yiv482578709emailstyle17
        {mso-style-name:yiv482578709emailstyle17;}
p.yiv482578709msonormal1, li.yiv482578709msonormal1, div.yiv482578709msonormal1
        {mso-style-name:yiv482578709msonormal1;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.yiv482578709msohyperlink1
        {mso-style-name:yiv482578709msohyperlink1;
        color:blue;
        text-decoration:underline;}
span.yiv482578709msohyperlinkfollowed1
        {mso-style-name:yiv482578709msohyperlinkfollowed1;
        color:purple;
        text-decoration:underline;}
span.yiv482578709emailstyle171
        {mso-style-name:yiv482578709emailstyle171;
        font-family:"Arial","sans-serif";
        color:#1F497D;}
p.yiv482578709msochpdefault1, li.yiv482578709msochpdefault1, div.yiv482578709msochpdefault1
        {mso-style-name:yiv482578709msochpdefault1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:10.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle28
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">All:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal">> It can be very easily justified that many to Utf* calls are justified because<br>
> of latency in the I/O system means it happens "for free" while reducing the<br>
> overall latency.<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-indent:4.5pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">In the “modern world”, be a little cautious when you decide what activities can<br>
  overlap with other activities. For example, for many of us in the Linux world<br>
  who are using Flash-based file systems (e.g., UBIfs), there’s really no such<br>
  thing as overlapping disk I/O with other activities; all “disk” I/O to the Flash<br>
  file system requires the CPU and will block ordinary interactive priority<br>
  user-level activities that also need the CPU.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:4.5pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-indent:4.5pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">It’s not like in the old days when you queued an I/O request to a rotating<br>
  magnetic disk and between seek latencies and DMA data transfers, you<br>
  could slip-in a lot of computing. Nowadays, that “disk” I/O may still require<br>
  the CPU.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:4.5pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-indent:4.5pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">                                              Atlant<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> interest-bounces+aschmidt=dekaresearch.com@qt-project.org [mailto:interest-bounces+aschmidt=dekaresearch.com@qt-project.org]
<b>On Behalf Of </b>Jason H<br>
<b>Sent:</b> Tuesday, August 21, 2012 10:17 AM<br>
<b>To:</b> Tony Rietwyk; interest@qt-project.org<br>
<b>Subject:</b> Re: [Interest] memory fragmentation?<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Not true for really large XML. With the all-in-one approach, you have to have the entire document completed. This will create a long pause, and increase latency, and increase memory usage. It can be very easily justified that many to Utf*
 calls are justified because of latency in the I/O system means it happens "for free" while reducing the overall latency.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Would you prefer an image transcoding server that waited for an image to be completely uploaded and completed, or start receiving the conversion as soon as final blocks or scan lines were available?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<div>
<div class="MsoNormal" align="center" style="text-align:center"><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">
<hr size="1" width="100%" align="center">
</span></div>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Arial","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Arial","sans-serif""> Tony Rietwyk <tony@rightsoft.com.au><br>
<b>To:</b> interest@qt-project.org <br>
<b>Sent:</b> Monday, August 20, 2012 9:52 PM<br>
<b>Subject:</b> Re: [Interest] memory fragmentation?</span><o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div id="yiv482578709">
<div>
<div>
<p class="MsoNormal">...<o:p></o:p></p>
<div>
<p class="MsoNormal">In the end I chose Qt 4.8.1  QXmlStreamWriter(QString *).   The QByteArray version seemed the logical choice - but since the API only uses QString, each call resulted in temporaries being allocated and disposed.  It seems QString is crying
 out for an appendLatin1(const char *, int len) that re-allocates the unicode array if necessary, and then does the latin1 conversion without creating a temporary.   Doing a single toUtf8 at the end is also better than calling it a million times. 
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="background:white"><o:p> </o:p></span></p>
<p align="center" style="text-align:center"><span style="background:white">Click <a href="https://www.mailcontrol.com/sr/bDzP+9vsRoLTndxI!oX7UsdpzMR7Bo2KLSPw81zu1L5IoD8uUEc6OAisExa4IijhH9Ig72ayDQp8TccP!XTbKg==">
here</a> to report this email as spam.<o:p></o:p></span></p>
</div>
<br>
<hr>
<font face="Arial" color="Gray" size="1">This e-mail and the information, including any attachments, it contains are intended to be a confidential communication only to the person or entity to whom it is addressed and may contain information that is privileged.
 If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please immediately notify the
 sender and destroy the original message.<br>
<br>
Thank you.<br>
<br>
Please consider the environment before printing this email.<br>
</font>
</body>
</html>