diff --git a/src/plugins/bineditor/bineditor.cpp b/src/plugins/bineditor/bineditor.cpp
index ec33a8889e929d3b7ca972adcecbf3db0035042e..656d80b1d3c3f9fe48e6e1c8500784657e5fc8a2 100644
--- a/src/plugins/bineditor/bineditor.cpp
+++ b/src/plugins/bineditor/bineditor.cpp
@@ -230,6 +230,7 @@ QByteArray BinEditor::dataMid(int from, int length) const
     int block = from / m_blockSize;
 
     QByteArray data;
+    data.reserve(length);
     do {
         data += blockData(block++);
     } while (block * m_blockSize < end);
@@ -1138,6 +1139,7 @@ void BinEditor::copy(bool raw)
         }
         QString hexString;
         const char * const hex = "0123456789abcdef";
+        hexString.reserve(3 * data.size());
         for (int i = 0; i < data.size(); ++i) {
             const uchar val = static_cast<uchar>(data[i]);
             hexString.append(hex[val >> 4]).append(hex[val & 0xf]).append(' ');