1
0
mirror of https://github.com/d47081/qBittorrent.git synced 2025-02-03 02:14:16 +00:00

Preallocate output buffer

This commit is contained in:
Chocobo1 2020-04-08 12:45:03 +08:00
parent d476ae4f14
commit e7890fb727
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C

View File

@ -2587,6 +2587,7 @@ void Session::saveResumeData()
void Session::saveTorrentsQueue() void Session::saveTorrentsQueue()
{ {
// store hash in textual representation
QMap<int, QString> queue; // Use QMap since it should be ordered by key QMap<int, QString> queue; // Use QMap since it should be ordered by key
for (const TorrentHandle *torrent : asConst(torrents())) { for (const TorrentHandle *torrent : asConst(torrents())) {
// We require actual (non-cached) queue position here! // We require actual (non-cached) queue position here!
@ -2596,6 +2597,7 @@ void Session::saveTorrentsQueue()
} }
QByteArray data; QByteArray data;
data.reserve(((InfoHash::length() * 2) + 1) * queue.size());
for (const QString &hash : asConst(queue)) for (const QString &hash : asConst(queue))
data += (hash.toLatin1() + '\n'); data += (hash.toLatin1() + '\n');