* Replace time measuring macro The DO_TIME macro was used originally to get performance numbers. The macro makes tests hard to debug. This commit replaces it with a proper C++ class with destructor. * Bug fix If the superslab meta data is large, then the calculation for the sizeclasses that could use the short slab was incorrect. This fixes that calculation. Co-authored-by: Nathaniel Wesley Filardo <nfilardo@microsoft.com>
21 lines
485 B
C++
21 lines
485 B
C++
#pragma once
|
|
|
|
#include <chrono>
|
|
#include <iomanip>
|
|
#include <iostream>
|
|
#include <sstream>
|
|
|
|
class MeasureTime : public std::stringstream
|
|
{
|
|
std::chrono::time_point<std::chrono::high_resolution_clock> start =
|
|
std::chrono::high_resolution_clock::now();
|
|
|
|
public:
|
|
~MeasureTime()
|
|
{
|
|
auto finish = std::chrono::high_resolution_clock::now();
|
|
auto diff = finish - start;
|
|
std::cout << str() << ": " << std::setw(12) << diff.count() << " ns"
|
|
<< std::endl;
|
|
}
|
|
}; |