Skip to content

Commit 7b7cca8

Browse files
committed
Optimize QByteArray memory allocations
1 parent e84e366 commit 7b7cca8

File tree

1 file changed

+7
-16
lines changed

1 file changed

+7
-16
lines changed

src/mainwindow.cpp

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -623,17 +623,13 @@ void MainWindow::Test(Channel_t channel, QByteArray dataBuffer)
623623
//------------------------------------------------------------
624624
// TX
625625
//------------------------------------------------------------
626-
dataBuffer.resize(m_testIndex);
627-
dataBuffer.clear();
628-
i = m_testIndex;
629-
630-
while(i)
631-
{
632-
dataBuffer.append((char)i);
633-
i--;
626+
QByteArray dataToSend;
627+
dataToSend.resize(m_testIndex);
628+
for (qint32 k = 0; k < m_testIndex; ++k) {
629+
dataToSend[k] = (char)(m_testIndex - k);
634630
}
635631

636-
ret = Send(channel, dataBuffer);
632+
ret = Send(channel, dataToSend);
637633

638634
if(ret)
639635
{
@@ -709,8 +705,7 @@ QByteArray MainWindow::Protocol_Wrap(QByteArray dataBuffer)
709705
QByteArray data;
710706
quint32 crc;
711707
crc = crc32(dataBuffer.data(), dataBuffer.size());
712-
data.resize(dataBuffer.size() + PROTOCOL_OVERHEAD);
713-
data.clear();
708+
data.reserve(dataBuffer.size() + PROTOCOL_OVERHEAD);
714709
data.append((char)0x00);
715710
data.append((dataBuffer.size() >> 8) & 0xFF);
716711
data.append(dataBuffer.size() & 0xFF);
@@ -732,8 +727,6 @@ QByteArray MainWindow::Protocol_Unwrap(QByteArray dataBuffer)
732727
char *b = dataBuffer.data();
733728
//qDebug() << "Protocol : Unwrap -" << QString(dataBuffer.toHex());
734729
m_data_size += dataBuffer.size();
735-
data.resize(0);
736-
data.clear();
737730

738731
if(PROTOCOL_OVERHEAD < dataBuffer.size())
739732
{
@@ -750,9 +743,7 @@ QByteArray MainWindow::Protocol_Unwrap(QByteArray dataBuffer)
750743

751744
if(crc == crcp)
752745
{
753-
data.resize(length);
754-
data.clear();
755-
data.append(&b[3], length);
746+
data = QByteArray(&b[3], length);
756747
}
757748
else
758749
{

0 commit comments

Comments
 (0)