41 m_u64Reads = s.m_u64Reads;
42 m_u64Writes = s.m_u64Writes;
43 m_u64Splits = s.m_u64Splits;
44 m_u64Hits = s.m_u64Hits;
45 m_u64Misses = s.m_u64Misses;
46 m_u32Nodes = s.m_u32Nodes;
47 m_u32DeadIndexNodes = s.m_u32DeadIndexNodes;
48 m_u32DeadLeafNodes = s.m_u32DeadLeafNodes;
49 m_u64Adjustments = s.m_u64Adjustments;
50 m_u64QueryResults = s.m_u64QueryResults;
51 m_u64Data = s.m_u64Data;
52 m_u64TotalData = s.m_u64TotalData;
53 m_treeHeight = s.m_treeHeight;
54 m_nodesInLevel = s.m_nodesInLevel;
64 m_u64Reads = s.m_u64Reads;
65 m_u64Writes = s.m_u64Writes;
66 m_u64Splits = s.m_u64Splits;
67 m_u64Hits = s.m_u64Hits;
68 m_u64Misses = s.m_u64Misses;
69 m_u32Nodes = s.m_u32Nodes;
70 m_u32DeadIndexNodes = s.m_u32DeadIndexNodes;
71 m_u32DeadLeafNodes = s.m_u32DeadLeafNodes;
72 m_u64Adjustments = s.m_u64Adjustments;
73 m_u64QueryResults = s.m_u64QueryResults;
74 m_u64Data = s.m_u64Data;
75 m_u64TotalData = s.m_u64TotalData;
76 m_treeHeight = s.m_treeHeight;
77 m_nodesInLevel = s.m_nodesInLevel;
120 return m_u64Adjustments;
125 return m_u64QueryResults;
132 for (
size_t cIndex = 0; cIndex < m_treeHeight.size(); ++cIndex)
134 ret = std::max(ret, m_treeHeight[cIndex]);
144 return m_nodesInLevel.at(l);
152 void Statistics::reset()
160 m_u32DeadIndexNodes = 0;
161 m_u32DeadLeafNodes = 0;
162 m_u64Adjustments = 0;
163 m_u64QueryResults = 0;
166 m_treeHeight.clear();
167 m_nodesInLevel.clear();
172 os <<
"Reads: " << s.m_u64Reads << std::endl
173 <<
"Writes: " << s.m_u64Writes << std::endl
174 <<
"Hits: " << s.m_u64Hits << std::endl
175 <<
"Misses: " << s.m_u64Misses << std::endl
176 <<
"Number of live data: " << s.m_u64Data << std::endl
177 <<
"Total number of data: " << s.m_u64TotalData << std::endl
178 <<
"Number of nodes: " << s.m_u32Nodes << std::endl
179 <<
"Number of dead index nodes: " << s.m_u32DeadIndexNodes << std::endl
180 <<
"Number of dead leaf nodes: " << s.m_u32DeadLeafNodes << std::endl;
182 for (
size_t cTree = 0; cTree < s.m_treeHeight.size(); ++cTree)
184 os <<
"Tree " << cTree <<
", Height " << s.m_treeHeight[cTree] << std::endl;
187 for (
size_t cLevel = 0; cLevel < s.m_nodesInLevel.size(); ++cLevel)
189 os <<
"Level " << cLevel <<
" pages: " << s.m_nodesInLevel[cLevel] << std::endl;
192 os <<
"Splits: " << s.m_u64Splits << std::endl
193 <<
"Adjustments: " << s.m_u64Adjustments << std::endl
194 <<
"Query results: " << s.m_u64QueryResults << std::endl;
virtual uint64_t getAdjustments() const
uint32_t getNumberOfNodes() const override
virtual uint32_t getTreeHeight() const
virtual uint64_t getSplits() const
uint64_t getNumberOfData() const override
virtual uint64_t getMisses() const
uint64_t getWrites() const override
Statistics & operator=(const Statistics &)
virtual uint32_t getNumberOfNodesInLevel(uint32_t l) const
virtual uint64_t getHits() const
virtual uint64_t getQueryResults() const
uint64_t getReads() const override
std::ostream & operator<<(std::ostream &os, const MVRTree &t)