Skip to content
Snippets Groups Projects
Commit f0dbc1ef authored by Petr Rockai's avatar Petr Rockai
Browse files

MC: Add timers for state hashing and for DiVM computation.

parent 12f938c6
No related branches found
No related tags found
No related merge requests found
......@@ -18,6 +18,7 @@
#pragma once
#include <divine/mc/types.hpp>
#include <divine/mc/bitcode.hpp>
#include <divine/mc/hasher.hpp>
#include <divine/mc/context.hpp>
......@@ -133,6 +134,7 @@ struct Builder
std::pair< Snapshot, bool > store( Snapshot snap )
{
hash_timer _timer;
_hasher.prepare( snap );
auto r = _d.states.insert( snap, hasher() );
if ( r->load() != snap )
......@@ -241,6 +243,7 @@ struct Builder
auto do_eval = [&]( Check &tc )
{
divm_timer _timer;
bool cont = false;
do {
cont = eval.run_seq( cont );
......
......@@ -22,11 +22,11 @@
#include <brick-mem>
#include <brick-hashset>
#include <brick-string>
#include <brick-timer>
#include <optional>
namespace divine::mc
{
struct BitCode;
enum class Result { None, Valid, Error, BootError };
......@@ -67,4 +67,10 @@ namespace divine::mc
using PoolStats = std::map< std::string, brick::mem::Stats >;
using HashStats = std::map< std::string, brq::hash_set_stats >;
struct divm_timer_tag;
struct hash_timer_tag;
using divm_timer = brq::timer< divm_timer_tag >;
using hash_timer = brq::timer< hash_timer_tag >;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment