diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-03-14 15:57:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-14 15:57:32 +0100 |
commit | 4f53639e4c262a9806d05b24114aee40b1f9336b (patch) | |
tree | 5e16dbfc400849f83e3b3189a868cc771cd30cbb /searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp | |
parent | 12a906cd6d29c637cbbada5a881a3636a27885e0 (diff) | |
parent | 880d37d8adbd904c2701a8ce35fd4fb9e60da946 (diff) |
Merge pull request #26433 from vespa-engine/balder/also-consider-static-cost-of-caches
Balder/also consider static cost of caches
Diffstat (limited to 'searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp')
-rw-r--r-- | searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp b/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp index 258b4d6518a..eec49043282 100644 --- a/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp +++ b/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp @@ -497,20 +497,20 @@ private: } bool allowVisitCaching() const override { return _allowVisitCaching; } private: - VisitCacheStore &_vcs; - vespalib::hash_set<uint32_t> _expected; - vespalib::hash_set<uint32_t> _actual; - bool _allowVisitCaching; + VisitCacheStore &_vcs; + vespalib::hash_set<uint32_t> _expected; + vespalib::hash_set<uint32_t> _actual; + bool _allowVisitCaching; }; - DirectoryHandler _myDir; - document::DocumentTypeRepo _repo; - LogDocumentStore::Config _config; - DummyFileHeaderContext _fileHeaderContext; - vespalib::ThreadStackExecutor _executor; - MyTlSyncer _tlSyncer; + DirectoryHandler _myDir; + document::DocumentTypeRepo _repo; + LogDocumentStore::Config _config; + DummyFileHeaderContext _fileHeaderContext; + vespalib::ThreadStackExecutor _executor; + MyTlSyncer _tlSyncer; std::unique_ptr<LogDocumentStore> _datastore; - std::map<uint32_t, Document::UP> _inserted; - SerialNum _serial; + std::map<uint32_t, Document::UP> _inserted; + SerialNum _serial; }; VisitCacheStore::VerifyVisitor::VerifyVisitor(VisitCacheStore & vcs, std::vector<uint32_t> lids, bool allowCaching) @@ -560,6 +560,15 @@ verifyCacheStats(CacheStats cs, size_t hits, size_t misses, size_t elements, siz EXPECT_GREATER_EQUAL(memory_used+20, cs.memory_used); } +TEST("Control static memory usage") { + VisitCacheStore vcs(DocumentStore::Config::UpdateStrategy::UPDATE); + IDocumentStore &ds = vcs.getStore(); + vespalib::MemoryUsage usage = ds.getMemoryUsage(); + constexpr size_t mutex_size = sizeof(std::mutex) * 2 * (113 + 1); // sizeof(std::mutex) is platform dependent + EXPECT_EQUAL(74580 + mutex_size, usage.allocatedBytes()); + EXPECT_EQUAL(952u + mutex_size, usage.usedBytes()); +} + TEST("test the update cache strategy") { VisitCacheStore vcs(DocumentStore::Config::UpdateStrategy::UPDATE); IDocumentStore & ds = vcs.getStore(); |