MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / getMetrics

Method getMetrics

deps/memkind/src/test/performance/framework.cpp:232–261  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

230 }
231
232 Metrics PerformanceTest::getMetrics()
233 {
234 uint64_t totalDuration = 0;
235
236 std::sort(m_durations.begin(), m_durations.end());
237
238 m_durations.erase(m_durations.end() - m_discardCount, m_durations.end());
239 for (uint64_t &duration : m_durations) {
240 totalDuration += duration;
241 }
242
243 Metrics metrics;
244
245 metrics.executedOperations = m_durations.size() * m_threadsCount *
246 m_operationsCount;
247 metrics.totalDuration = totalDuration;
248 metrics.repeatDuration = (double) totalDuration /
249 ((uint64_t)m_durations.size() * NanoSecInSec);
250 metrics.iterationDuration = metrics.repeatDuration;
251 if (m_executionMode == ExecutionMode::ManyIterations) {
252 metrics.executedOperations *= m_testOperations.size();
253 metrics.iterationDuration /= m_testOperations.size();
254 }
255 metrics.operationsPerSecond = (double) metrics.executedOperations *
256 NanoSecInSec / totalDuration;
257 metrics.avgOperationDuration = (double) totalDuration /
258 metrics.executedOperations;
259 assert(metrics.iterationDuration != 0.0);
260 return metrics;
261 }
262
263 void PerformanceTest::writeMetrics(const string &suiteName,
264 const string &caseName, const string &fileName)

Callers 1

runTestMethod · 0.80

Calls 5

sortFunction · 0.85
beginMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected