Skip to content

Commit 6c50f6f

Browse files
committed
Speed up input generating functions for benchmark tests
1 parent 6b21cf8 commit 6c50f6f

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

libcxx/test/benchmarks/GenerateInput.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ inline std::vector<IntT> getDuplicateIntegerInputs(size_t N) {
5353
template <class IntT>
5454
inline std::vector<IntT> getSortedIntegerInputs(size_t N) {
5555
std::vector<IntT> inputs;
56+
inputs.reserve(N);
5657
for (size_t i = 0; i < N; i += 1)
5758
inputs.push_back(i);
5859
return inputs;
@@ -61,6 +62,7 @@ inline std::vector<IntT> getSortedIntegerInputs(size_t N) {
6162
template <class IntT>
6263
std::vector<IntT> getSortedLargeIntegerInputs(size_t N) {
6364
std::vector<IntT> inputs;
65+
inputs.reserve(N);
6466
for (size_t i = 0; i < N; ++i) {
6567
inputs.push_back(i + N);
6668
}
@@ -78,6 +80,7 @@ std::vector<IntT> getSortedTopBitsIntegerInputs(size_t N) {
7880
template <class IntT>
7981
inline std::vector<IntT> getReverseSortedIntegerInputs(size_t N) {
8082
std::vector<IntT> inputs;
83+
inputs.reserve(N);
8184
std::size_t i = N;
8285
while (i > 0) {
8386
--i;
@@ -100,6 +103,7 @@ std::vector<IntT> getPipeOrganIntegerInputs(size_t N) {
100103
template <class IntT>
101104
std::vector<IntT> getRandomIntegerInputs(size_t N) {
102105
std::vector<IntT> inputs;
106+
inputs.reserve(N);
103107
for (size_t i = 0; i < N; ++i) {
104108
inputs.push_back(getRandomInteger<IntT>(0, std::numeric_limits<IntT>::max()));
105109
}
@@ -113,6 +117,7 @@ inline std::vector<std::string> getDuplicateStringInputs(size_t N) {
113117

114118
inline std::vector<std::string> getRandomStringInputs(size_t N) {
115119
std::vector<std::string> inputs;
120+
inputs.reserve(N);
116121
for (size_t i = 0; i < N; ++i) {
117122
inputs.push_back(getRandomString(1024));
118123
}
@@ -121,6 +126,7 @@ inline std::vector<std::string> getRandomStringInputs(size_t N) {
121126

122127
inline std::vector<std::string> getPrefixedRandomStringInputs(size_t N) {
123128
std::vector<std::string> inputs;
129+
inputs.reserve(N);
124130
constexpr int kSuffixLength = 32;
125131
const std::string prefix = getRandomString(1024 - kSuffixLength);
126132
for (size_t i = 0; i < N; ++i) {

0 commit comments

Comments
 (0)