summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2022-10-07 15:43:58 +0000
committerGeir Storli <geirst@yahooinc.com>2022-10-07 15:44:46 +0000
commitc704c939fc124fceacd3d8471343267a7ac006a3 (patch)
treefa04fe1d74f80115b0d6367c027cd89fa5ecc87e
parent2d22492d7b9144f7f20b9b45a19d322c5b0b5743 (diff)
Use more modern C++ features.
-rw-r--r--vespalib/src/vespa/vespalib/datastore/datastore.hpp19
-rw-r--r--vespalib/src/vespa/vespalib/datastore/datastorebase.cpp40
2 files changed, 30 insertions, 29 deletions
diff --git a/vespalib/src/vespa/vespalib/datastore/datastore.hpp b/vespalib/src/vespa/vespalib/datastore/datastore.hpp
index e14b248e569..18abe29d04f 100644
--- a/vespalib/src/vespa/vespalib/datastore/datastore.hpp
+++ b/vespalib/src/vespa/vespalib/datastore/datastore.hpp
@@ -44,19 +44,18 @@ template <typename RefT>
void
DataStoreT<RefT>::trimElemHoldList(generation_t usedGen)
{
- ElemHold2List &elemHold2List = _elemHold2List;
-
- ElemHold2List::iterator it(elemHold2List.begin());
- ElemHold2List::iterator ite(elemHold2List.end());
+ auto it = _elemHold2List.begin();
+ auto ite = _elemHold2List.end();
uint32_t freed = 0;
for (; it != ite; ++it) {
- if (static_cast<sgeneration_t>(it->_generation - usedGen) >= 0)
+ if (static_cast<sgeneration_t>(it->_generation - usedGen) >= 0) {
break;
+ }
free_elem_internal(it->_ref, it->_len, true);
++freed;
}
if (freed != 0) {
- elemHold2List.erase(elemHold2List.begin(), it);
+ _elemHold2List.erase(_elemHold2List.begin(), it);
}
}
@@ -64,14 +63,12 @@ template <typename RefT>
void
DataStoreT<RefT>::clearElemHoldList()
{
- ElemHold2List &elemHold2List = _elemHold2List;
-
- ElemHold2List::iterator it(elemHold2List.begin());
- ElemHold2List::iterator ite(elemHold2List.end());
+ auto it = _elemHold2List.begin();
+ auto ite = _elemHold2List.end();
for (; it != ite; ++it) {
free_elem_internal(it->_ref, it->_len, true);
}
- elemHold2List.clear();
+ _elemHold2List.clear();
}
template <typename RefT>
diff --git a/vespalib/src/vespa/vespalib/datastore/datastorebase.cpp b/vespalib/src/vespa/vespalib/datastore/datastorebase.cpp
index a5ed2c05f22..dd6c767e9c6 100644
--- a/vespalib/src/vespa/vespalib/datastore/datastorebase.cpp
+++ b/vespalib/src/vespa/vespalib/datastore/datastorebase.cpp
@@ -223,9 +223,8 @@ DataStoreBase::addType(BufferTypeBase *typeHandler)
void
DataStoreBase::transferElemHoldList(generation_t generation)
{
- ElemHold2List &elemHold2List = _elemHold2List;
- for (const ElemHold1ListElem & elemHold1 : _elemHold1List) {
- elemHold2List.push_back(ElemHold2ListElem(elemHold1, generation));
+ for (const auto& elemHold1 : _elemHold1List) {
+ _elemHold2List.push_back(ElemHold2ListElem(elemHold1, generation));
}
_elemHold1List.clear();
}
@@ -289,14 +288,14 @@ DataStoreBase::holdBuffer(uint32_t bufferId)
{
_states[bufferId].onHold(bufferId);
size_t holdBytes = 0u; // getMemStats() still accounts held buffers
- GenerationHeldBase::UP hold(new BufferHold(holdBytes, *this, bufferId));
+ auto hold = std::make_unique<BufferHold>(holdBytes, *this, bufferId);
_genHolder.hold(std::move(hold));
}
void
DataStoreBase::enableFreeLists()
{
- for (BufferState & bState : _states) {
+ for (auto& bState : _states) {
if (!bState.isActive() || bState.getCompacting()) {
continue;
}
@@ -308,7 +307,7 @@ DataStoreBase::enableFreeLists()
void
DataStoreBase::disableFreeLists()
{
- for (BufferState & bState : _states) {
+ for (auto& bState : _states) {
bState.disable_free_list();
}
_freeListsEnabled = false;
@@ -340,9 +339,9 @@ DataStoreBase::getMemStats() const
{
MemoryStats stats;
- for (const BufferState & bState: _states) {
+ for (const auto& bState: _states) {
auto typeHandler = bState.getTypeHandler();
- BufferState::State state = bState.getState();
+ auto state = bState.getState();
if ((state == BufferState::State::FREE) || (typeHandler == nullptr)) {
++stats._freeBuffers;
} else if (state == BufferState::State::ACTIVE) {
@@ -370,7 +369,7 @@ DataStoreBase::getAddressSpaceUsage() const
size_t usedArrays = 0;
size_t deadArrays = 0;
size_t limitArrays = 0;
- for (const BufferState & bState: _states) {
+ for (const auto& bState: _states) {
if (bState.isActive()) {
uint32_t arraySize = bState.getArraySize();
usedArrays += bState.size() / arraySize;
@@ -386,7 +385,7 @@ DataStoreBase::getAddressSpaceUsage() const
LOG_ABORT("should not be reached");
}
}
- return vespalib::AddressSpace(usedArrays, deadArrays, limitArrays);
+ return {usedArrays, deadArrays, limitArrays};
}
void
@@ -423,12 +422,11 @@ DataStoreBase::fallbackResize(uint32_t bufferId, size_t elemsNeeded)
state.fallbackResize(bufferId, elemsNeeded,
_buffers[bufferId].get_atomic_buffer(),
toHoldBuffer);
- GenerationHeldBase::UP
- hold(new FallbackHold(oldAllocElems * elementSize,
- std::move(toHoldBuffer),
- oldUsedElems,
- state.getTypeHandler(),
- state.getTypeId()));
+ auto hold = std::make_unique<FallbackHold>(oldAllocElems * elementSize,
+ std::move(toHoldBuffer),
+ oldUsedElems,
+ state.getTypeHandler(),
+ state.getTypeId());
if (!_initializing) {
_genHolder.hold(std::move(hold));
}
@@ -454,9 +452,15 @@ std::unique_ptr<CompactingBuffers>
DataStoreBase::start_compact_worst_buffers(CompactionSpec compaction_spec, const CompactionStrategy& compaction_strategy)
{
// compact memory usage
- CompactBufferCandidates elem_buffers(_numBuffers, compaction_strategy.get_max_buffers(), compaction_strategy.get_active_buffers_ratio(), compaction_strategy.getMaxDeadBytesRatio() / 2, CompactionStrategy::DEAD_BYTES_SLACK);
+ CompactBufferCandidates elem_buffers(_numBuffers, compaction_strategy.get_max_buffers(),
+ compaction_strategy.get_active_buffers_ratio(),
+ compaction_strategy.getMaxDeadBytesRatio() / 2,
+ CompactionStrategy::DEAD_BYTES_SLACK);
// compact address space
- CompactBufferCandidates array_buffers(_numBuffers, compaction_strategy.get_max_buffers(), compaction_strategy.get_active_buffers_ratio(), compaction_strategy.getMaxDeadAddressSpaceRatio() / 2, CompactionStrategy::DEAD_ADDRESS_SPACE_SLACK);
+ CompactBufferCandidates array_buffers(_numBuffers, compaction_strategy.get_max_buffers(),
+ compaction_strategy.get_active_buffers_ratio(),
+ compaction_strategy.getMaxDeadAddressSpaceRatio() / 2,
+ CompactionStrategy::DEAD_ADDRESS_SPACE_SLACK);
uint32_t free_buffers = 0;
for (uint32_t bufferId = 0; bufferId < _numBuffers; ++bufferId) {
const auto &state = getBufferState(bufferId);