That time tests:
@ QByteArray ba1(2048, 0);
QByteArray ba2(2048, 255);
QByteArray ba3(1024, 255);
char *ba1data = ba1.data();
char *ba2data = ba2.data();
QElapsedTimer timer;
timer.start();
for (int i = 0; i < 100000000; i++)
{
//ba2.replace(1000, 1024, ba1.data()+1000, 1024); // For 12324 ms.
//ba2.replace(1000, 1024, ba1.mid(1000, 1024)); // For 33228 ms.
//ba3 = ba1.left(1024); // For 45615 ms. <- ?!
//ba3 = ba1.right(1024); // For 29640 ms.
//ba3 = ba1.mid(1000, 1024); // For 29859 ms.
//memcpy(ba2data+1000, ba1data+1000, 1024); // For 7722 ms.
qMemCopy(ba2data+1000, ba1data+1000, 1024); // For 11981 ms.
}
qDebug() << timer.elapsed();@