fsp_srv: Remove unnecessary vector construction in IFile's Write() function
We can avoid constructing a std::vector here by simply passing a pointer to the original data and the size of the copy we wish to perform to the backend's Write() function instead, avoiding copying the data where it's otherwise not needed.pull/712/head
parent
3e9b79e088
commit
6c1ba02e0c
|
|
@ -149,8 +149,9 @@ private:
|
||||||
length, data.size());
|
length, data.size());
|
||||||
|
|
||||||
// Write the data to the Storage backend
|
// Write the data to the Storage backend
|
||||||
std::vector<u8> actual_data(data.begin(), data.begin() + length);
|
const auto write_size =
|
||||||
const std::size_t written = backend->WriteBytes(std::move(actual_data), offset);
|
static_cast<std::size_t>(std::distance(data.begin(), data.begin() + length));
|
||||||
|
const std::size_t written = backend->Write(data.data(), write_size, offset);
|
||||||
|
|
||||||
ASSERT_MSG(static_cast<s64>(written) == length,
|
ASSERT_MSG(static_cast<s64>(written) == length,
|
||||||
"Could not write all bytes to file (requested={:016X}, actual={:016X}).", length,
|
"Could not write all bytes to file (requested={:016X}, actual={:016X}).", length,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue