aboutsummaryrefslogtreecommitdiffstats
path: root/util/memory
diff options
context:
space:
mode:
authoromakovski <omakovski@yandex-team.ru>2022-02-10 16:49:30 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:49:30 +0300
commit9d2a99f5085a7425ef22831762c8684b687e0500 (patch)
tree5d5cb817648f650d76cf1076100726fd9b8448e8 /util/memory
parent5feb3b4d96aaa42ce546426241c48d626e6d6685 (diff)
downloadydb-9d2a99f5085a7425ef22831762c8684b687e0500.tar.gz
Restoring authorship annotation for <omakovski@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'util/memory')
-rw-r--r--util/memory/pool.cpp10
-rw-r--r--util/memory/pool.h22
-rw-r--r--util/memory/pool_ut.cpp80
3 files changed, 56 insertions, 56 deletions
diff --git a/util/memory/pool.cpp b/util/memory/pool.cpp
index 58cbd22ed1..9a011f0e4f 100644
--- a/util/memory/pool.cpp
+++ b/util/memory/pool.cpp
@@ -11,11 +11,11 @@ TMemoryPool::IGrowPolicy* TMemoryPool::TExpGrow::Instance() noexcept {
void TMemoryPool::AddChunk(size_t hint) {
const size_t dataLen = Max(BlockSize_, hint);
- size_t allocSize = dataLen + sizeof(TChunk);
- if (Options_.RoundUpToNextPowerOfTwo) {
- allocSize = FastClp2(allocSize);
- }
- TBlock nb = Alloc_->Allocate(allocSize);
+ size_t allocSize = dataLen + sizeof(TChunk);
+ if (Options_.RoundUpToNextPowerOfTwo) {
+ allocSize = FastClp2(allocSize);
+ }
+ TBlock nb = Alloc_->Allocate(allocSize);
// Add previous chunk's stats
if (Current_ != &Empty_) {
diff --git a/util/memory/pool.h b/util/memory/pool.h
index 8f04e66969..13c8b6b9ed 100644
--- a/util/memory/pool.h
+++ b/util/memory/pool.h
@@ -123,20 +123,20 @@ public:
static IGrowPolicy* Instance() noexcept;
};
- struct TOptions {
- bool RoundUpToNextPowerOfTwo;
- TOptions()
- : RoundUpToNextPowerOfTwo(true)
- {
- }
- };
-
- inline TMemoryPool(size_t initial, IGrowPolicy* grow = TExpGrow::Instance(), IAllocator* alloc = TDefaultAllocator::Instance(), const TOptions& options = TOptions())
+ struct TOptions {
+ bool RoundUpToNextPowerOfTwo;
+ TOptions()
+ : RoundUpToNextPowerOfTwo(true)
+ {
+ }
+ };
+
+ inline TMemoryPool(size_t initial, IGrowPolicy* grow = TExpGrow::Instance(), IAllocator* alloc = TDefaultAllocator::Instance(), const TOptions& options = TOptions())
: Current_(&Empty_)
, BlockSize_(initial)
, GrowPolicy_(grow)
, Alloc_(alloc)
- , Options_(options)
+ , Options_(options)
, Origin_(initial)
, MemoryAllocatedBeforeCurrent_(0)
, MemoryWasteBeforeCurrent_(0)
@@ -299,7 +299,7 @@ private:
size_t BlockSize_;
IGrowPolicy* GrowPolicy_;
IAllocator* Alloc_;
- TOptions Options_;
+ TOptions Options_;
TChunkList Chunks_;
const size_t Origin_;
size_t MemoryAllocatedBeforeCurrent_;
diff --git a/util/memory/pool_ut.cpp b/util/memory/pool_ut.cpp
index 2797058336..1158a8ca42 100644
--- a/util/memory/pool_ut.cpp
+++ b/util/memory/pool_ut.cpp
@@ -83,7 +83,7 @@ class TMemPoolTest: public TTestBase {
UNIT_TEST(TestZeroArray)
UNIT_TEST(TestLargeStartingAlign)
UNIT_TEST(TestMoveAlloc)
- UNIT_TEST(TestRoundUpToNextPowerOfTwoOption)
+ UNIT_TEST(TestRoundUpToNextPowerOfTwoOption)
UNIT_TEST_SUITE_END();
private:
@@ -239,47 +239,47 @@ private:
CheckMoveAlloc<TNoCopy>();
CheckMoveAlloc<TErrorOnCopy>();
}
-
- void TestRoundUpToNextPowerOfTwoOption() {
- const size_t MEMORY_POOL_BLOCK_SIZE = (1024 - 16) * 4096 - 16 - 16 - 32;
-
+
+ void TestRoundUpToNextPowerOfTwoOption() {
+ const size_t MEMORY_POOL_BLOCK_SIZE = (1024 - 16) * 4096 - 16 - 16 - 32;
+
class TFixedBlockSizeMemoryPoolPolicy final: public TMemoryPool::IGrowPolicy {
- public:
- size_t Next(size_t /*prev*/) const noexcept override {
- return MEMORY_POOL_BLOCK_SIZE;
- }
- };
- TFixedBlockSizeMemoryPoolPolicy allocationPolicy;
-
+ public:
+ size_t Next(size_t /*prev*/) const noexcept override {
+ return MEMORY_POOL_BLOCK_SIZE;
+ }
+ };
+ TFixedBlockSizeMemoryPoolPolicy allocationPolicy;
+
class TTestAllocator final: public TDefaultAllocator {
- public:
- TBlock Allocate(size_t len) override {
- Size_ += len;
- return TDefaultAllocator::Allocate(len);
- }
-
- size_t GetSize() const {
- return Size_;
- }
-
- private:
- size_t Size_ = 0;
- };
-
- TTestAllocator allocator;
-
- TMemoryPool::TOptions options;
- options.RoundUpToNextPowerOfTwo = false;
-
- constexpr size_t EXPECTED_ALLOCATION_SIZE = MEMORY_POOL_BLOCK_SIZE + 32;
- TMemoryPool pool(MEMORY_POOL_BLOCK_SIZE, &allocationPolicy, &allocator, options);
-
- pool.Allocate(MEMORY_POOL_BLOCK_SIZE);
- UNIT_ASSERT_VALUES_EQUAL(EXPECTED_ALLOCATION_SIZE, allocator.GetSize());
-
- pool.Allocate(1);
- UNIT_ASSERT_VALUES_EQUAL(2 * EXPECTED_ALLOCATION_SIZE, allocator.GetSize());
- }
+ public:
+ TBlock Allocate(size_t len) override {
+ Size_ += len;
+ return TDefaultAllocator::Allocate(len);
+ }
+
+ size_t GetSize() const {
+ return Size_;
+ }
+
+ private:
+ size_t Size_ = 0;
+ };
+
+ TTestAllocator allocator;
+
+ TMemoryPool::TOptions options;
+ options.RoundUpToNextPowerOfTwo = false;
+
+ constexpr size_t EXPECTED_ALLOCATION_SIZE = MEMORY_POOL_BLOCK_SIZE + 32;
+ TMemoryPool pool(MEMORY_POOL_BLOCK_SIZE, &allocationPolicy, &allocator, options);
+
+ pool.Allocate(MEMORY_POOL_BLOCK_SIZE);
+ UNIT_ASSERT_VALUES_EQUAL(EXPECTED_ALLOCATION_SIZE, allocator.GetSize());
+
+ pool.Allocate(1);
+ UNIT_ASSERT_VALUES_EQUAL(2 * EXPECTED_ALLOCATION_SIZE, allocator.GetSize());
+ }
};
UNIT_TEST_SUITE_REGISTRATION(TMemPoolTest);