summaryrefslogtreecommitdiff
path: root/src/mongo/platform/random.cpp
diff options
context:
space:
mode:
authorBen Caimano <ben.caimano@10gen.com>2021-03-08 17:12:12 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-03-09 00:26:13 +0000
commit8ca55acd6ef2be43b8cc29bbe19d2845ab464105 (patch)
tree7f602a63a260486c652ce09d7fbf1581c4b614b8 /src/mongo/platform/random.cpp
parentdb2e46857ce1c2bf90fda9842287cc5940fce81c (diff)
downloadmongo-8ca55acd6ef2be43b8cc29bbe19d2845ab464105.tar.gz
SERVER-55041 Benchmark UUID generation and increase SecureRandom buffer size
Diffstat (limited to 'src/mongo/platform/random.cpp')
-rw-r--r--src/mongo/platform/random.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mongo/platform/random.cpp b/src/mongo/platform/random.cpp
index 2d19fc79b35..00c3cb2a068 100644
--- a/src/mongo/platform/random.cpp
+++ b/src/mongo/platform/random.cpp
@@ -69,8 +69,10 @@ namespace mongo {
namespace {
-template <size_t N>
+template <size_t Bytes>
struct Buffer {
+ static constexpr size_t kArraySize = Bytes / sizeof(uint64_t);
+
uint64_t pop() {
return arr[--avail];
}
@@ -84,7 +86,7 @@ struct Buffer {
avail = arr.size();
}
- std::array<uint64_t, N> arr;
+ std::array<uint64_t, kArraySize> arr;
size_t avail = 0;
};
@@ -205,7 +207,7 @@ public:
private:
Source _source;
- Buffer<16> _buffer;
+ Buffer<4096> _buffer;
};
SecureUrbg::SecureUrbg() : _state{std::make_unique<State>()} {}