summaryrefslogtreecommitdiff
path: root/src/node_http2.cc
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2019-08-10 23:18:13 +0200
committerMichaƫl Zasso <targos@protonmail.com>2019-08-15 09:51:52 +0200
commitb2c7c51d0bfa1b2165be409f1cedb7b1d4beaddf (patch)
tree9226cc6662ec4c6c52dcadad73bacf60b09f9104 /src/node_http2.cc
parentb4cfa521b8b0fbe5ee5815fcac3614cc0960f7d9 (diff)
downloadandroid-node-v8-b2c7c51d0bfa1b2165be409f1cedb7b1d4beaddf.tar.gz
android-node-v8-b2c7c51d0bfa1b2165be409f1cedb7b1d4beaddf.tar.bz2
android-node-v8-b2c7c51d0bfa1b2165be409f1cedb7b1d4beaddf.zip
http2: shrink default `vector::reserve()` allocations
Allocating memory upfront comes with overhead, and in particular, `std::vector` implementations do not necessarily return memory to the system when one might expect that (e.g. after shrinking the vector). PR-URL: https://github.com/nodejs/node/pull/29122 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'src/node_http2.cc')
-rw-r--r--src/node_http2.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/node_http2.cc b/src/node_http2.cc
index e184a3ce82..d4b672a603 100644
--- a/src/node_http2.cc
+++ b/src/node_http2.cc
@@ -639,7 +639,7 @@ Http2Session::Http2Session(Environment* env,
// fails.
CHECK_EQ(fn(&session_, callbacks, this, *opts, *allocator_info), 0);
- outgoing_storage_.reserve(4096);
+ outgoing_storage_.reserve(1024);
outgoing_buffers_.reserve(32);
{
@@ -1914,7 +1914,7 @@ Http2Stream::Http2Stream(Http2Session* session,
if (max_header_pairs_ == 0) {
max_header_pairs_ = DEFAULT_MAX_HEADER_LIST_PAIRS;
}
- current_headers_.reserve(max_header_pairs_);
+ current_headers_.reserve(std::min(max_header_pairs_, 12u));
// Limit the number of header octets
max_header_length_ =