summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/common
diff options
context:
space:
mode:
authorPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2025-06-13 13:14:27 +0200
committerPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2025-06-16 17:27:29 +0200
commit223f67c2cbf4648c3aaa907ec0edf98e53b574e9 (patch)
tree7dd1e9aa2dd8a2470984a65d841e222b2226fa59 /src/buildtool/execution_api/common
parentfebe0937cf4394bc0f908e13fd0b6ab63b2c29c2 (diff)
downloadjustbuild-223f67c2cbf4648c3aaa907ec0edf98e53b574e9.tar.gz
Avoid unnecessary work in accessing container entries
- in sequence containers, use operator[] instead of .at() when accessing indices guaranteed to be in bound; - in associative containers, prefer .find() and reusing the returned const iterator to using .contains() and .at(); while there, make any so obtained iterators const if they are read-only.
Diffstat (limited to 'src/buildtool/execution_api/common')
-rw-r--r--src/buildtool/execution_api/common/bytestream_utils.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/buildtool/execution_api/common/bytestream_utils.cpp b/src/buildtool/execution_api/common/bytestream_utils.cpp
index 93acede8..fa91cd98 100644
--- a/src/buildtool/execution_api/common/bytestream_utils.cpp
+++ b/src/buildtool/execution_api/common/bytestream_utils.cpp
@@ -34,15 +34,15 @@ namespace {
std::size_t shift = 0;
for (std::size_t length = 0; shift + length < request.size();
++length) {
- if (request.at(shift + length) == '/') {
- parts.emplace_back(&request.at(shift), length);
+ if (request[shift + length] == '/') {
+ parts.emplace_back(&request[shift], length);
shift += length + 1;
length = 0;
}
}
if (shift < request.size()) {
- parts.emplace_back(&request.at(shift), request.size() - shift);
+ parts.emplace_back(&request[shift], request.size() - shift);
}
} catch (...) {
return {};
@@ -80,15 +80,15 @@ auto ByteStreamUtils::ReadRequest::FromString(
auto const parts = ::SplitRequest(request);
if (parts.size() != kReadRequestPartsCount or
- parts.at(kBlobsIndex).compare(ByteStreamUtils::kBlobs) != 0) {
+ parts[kBlobsIndex].compare(ByteStreamUtils::kBlobs) != 0) {
return std::nullopt;
}
ReadRequest result;
- result.instance_name_ = std::string(parts.at(kInstanceNameIndex));
- result.hash_ = std::string(parts.at(kHashIndex));
+ result.instance_name_ = std::string(parts[kInstanceNameIndex]);
+ result.hash_ = std::string(parts[kHashIndex]);
try {
- result.size_ = std::stoi(std::string(parts.at(kSizeIndex)));
+ result.size_ = std::stoi(std::string(parts[kSizeIndex]));
} catch (...) {
return std::nullopt;
}
@@ -126,17 +126,17 @@ auto ByteStreamUtils::WriteRequest::FromString(
auto const parts = ::SplitRequest(request);
if (parts.size() != kWriteRequestPartsCount or
- parts.at(kUploadsIndex).compare(ByteStreamUtils::kUploads) != 0 or
- parts.at(kBlobsIndex).compare(ByteStreamUtils::kBlobs) != 0) {
+ parts[kUploadsIndex].compare(ByteStreamUtils::kUploads) != 0 or
+ parts[kBlobsIndex].compare(ByteStreamUtils::kBlobs) != 0) {
return std::nullopt;
}
WriteRequest result;
- result.instance_name_ = std::string(parts.at(kInstanceNameIndex));
- result.uuid_ = std::string(parts.at(kUUIDIndex));
- result.hash_ = std::string(parts.at(kHashIndex));
+ result.instance_name_ = std::string(parts[kInstanceNameIndex]);
+ result.uuid_ = std::string(parts[kUUIDIndex]);
+ result.hash_ = std::string(parts[kHashIndex]);
try {
- result.size_ = std::stoul(std::string(parts.at(kSizeIndex)));
+ result.size_ = std::stoul(std::string(parts[kSizeIndex]));
} catch (...) {
return std::nullopt;
}