Skip to content

File bench_memory_peak.h

File List > benchmark > metrics > implementations > bench_memory_peak.h

Go to the documentation of this file

#pragma once
#include "../Metric.h"
#include <thread>

class MemoryPeak : public Metric {
private:
    double peak;
    bool isRunning;
    std::thread thread;

    void run();

public:
    MemoryPeak() : Metric("MemoryPeak(Mo)") {}
    ~MemoryPeak() = default;

    double get_memory_usage_mo();

    void compute(const Mesh&, const Mesh&, benchmark::State&) const override;


    void start();
    void stop();
};