Use ResizeableBuffer for FlatbufferVector
This speeds up fastbuild log reading a lot.
Change-Id: I4452096a9a1d5b0330cbfeed5762dcc4f15d0d20
diff --git a/aos/json_to_flatbuffer.h b/aos/json_to_flatbuffer.h
index 381621e..c997f03 100644
--- a/aos/json_to_flatbuffer.h
+++ b/aos/json_to_flatbuffer.h
@@ -122,8 +122,12 @@
template <typename T>
inline FlatbufferVector<T> FileToFlatbuffer(const std::string_view path) {
std::ifstream instream(std::string(path), std::ios::in | std::ios::binary);
- std::vector<uint8_t> data((std::istreambuf_iterator<char>(instream)),
- std::istreambuf_iterator<char>());
+ ResizeableBuffer data;
+ std::istreambuf_iterator<char> it(instream);
+ while (it != std::istreambuf_iterator<char>()) {
+ data.push_back(*it);
+ ++it;
+ }
return FlatbufferVector<T>(std::move(data));
}