fvogt added a comment.

  In D15426#324636 <https://phabricator.kde.org/D15426#324636>, @bruns wrote:
  
  > In D15426#324486 <https://phabricator.kde.org/D15426#324486>, @fvogt wrote:
  >
  > > In D15426#324284 <https://phabricator.kde.org/D15426#324284>, @bruns 
wrote:
  > >
  > > > For the trivial case, do the clear in `readData()`.
  > > >
  > > > For the non-trivial case:
  > > >
  > > > 1. in `readData()`, no memmoves were ever done. Currently, if you have 
e.g. 50 kB in m_data, you read 2 * 16 kB, and move the remaining 18 kB to the 
front. You can instead just read 3 * 16 + 2 kB.
  > >
  > >
  > > It's always a cpu/memory trade off. I prefer KISS to premature 
optimization.
  >
  >
  > if you remove the `|| m_offset * 2 >= m_data.length()`, it gets even 
simpler, and does less work (especially for the readAll() case). The garbage 
collection is already done in slotData.
  
  
  I did not remove that because it means even if there's only a single byte in 
the buffer remaining (for some reason), the memory of `m_data` is never freed.
  
  However, I looked at the QByteArray source code and found that `:remove` 
doesn't actually change the capacity of the array at all, so it's indeed a bit 
pointless.

REPOSITORY
  R241 KIO

REVISION DETAIL
  https://phabricator.kde.org/D15426

To: fvogt, #frameworks, elvisangelaccio
Cc: ngraham, bruns, kde-frameworks-devel, michaelh

Reply via email to